|
<% @ Control Language="VB" AutoEventWireup="false" CodeFile="YALReadOnlyGrid.ascx.vb" Inherits="UserControls_YALReadOnlyGrid" %>
<% @ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
|
| <telerik:RadGrid ID="RadROGrid" runat="server" |
| AllowPaging="true" AllowSorting="True" GridLines="None" Skin="Sunset" |
| Width="275px"> |
| <MasterTableView> |
| <RowIndicatorColumn> |
| <HeaderStyle Width="20px" /> |
| </RowIndicatorColumn> |
| <ExpandCollapseColumn> |
| <HeaderStyle Width="20px" /> |
| </ExpandCollapseColumn> |
| </MasterTableView> |
| <ClientSettings> |
| <Selecting AllowRowSelect="True" /> |
| </ClientSettings> |
| </telerik:RadGrid> |
| <%@ Page Title="" Language="VB" MasterPageFile="~/Common/YALMasterPage.master" AutoEventWireup="false" CodeFile="YALDropDowns.aspx.vb" Inherits="Admin_YALDropDowns" %> |
| <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"> |
| </asp:Content> |
| <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolderHeader" Runat="Server"> |
| </asp:Content> |
| <asp:Content ID="Content3" ContentPlaceHolderID="ConPHLeftTop" Runat="Server"> |
| <YAL:YALROGenGrid runat="server" ID="YALDDVals" Source="DropDowns" setPageSize="50" /> |
| </asp:Content> |
| <asp:Content ID="Content4" ContentPlaceHolderID="ConPHLeftBottom" Runat="Server"> |
| </asp:Content> |
| <asp:Content ID="Content5" ContentPlaceHolderID="ConPHRightTop" Runat="Server"> |
| </asp:Content> |
| function RowDblClick(sender, eventArgs) { |
| editedRow = eventArgs.get_itemIndexHierarchical(); |
| $find("<%= gvCktMap.MasterTableView.ClientID %>").editItem(editedRow); |
| } |
| function GridCommand(sender, args) { |
| if (args.get_commandName() != "Edit") { |
| editedRow = null; |
| } |
| } |
| function GridCreated(sender, eventArgs) { |
| var gridElement = sender.get_element(); |
| var elementsToUse = []; |
| inputs = gridElement.getElementsByTagName("input"); |
| for (var i = 0; i < inputs.length; i++) { |
| var lowerType = inputs[i].type.toLowerCase(); |
| if (lowerType == "hidden" || lowerType == "button") { |
| continue; |
| } |
| Array.add(elementsToUse, inputs[i]); |
| inputs[i].onchange = TrackChanges; |
| } |
| dropdowns = gridElement.getElementsByTagName("select"); |
| for (var i = 0; i < dropdowns.length; i++) { |
| dropdowns[i].onchange = TrackChanges; |
| } |
| setTimeout(function() { if (elementsToUse[0]) elementsToUse[0].focus(); }, 100); |
| } |
| <telerik:RadGrid ID="gvCktMap" BorderColor="White" runat="server" AutoGenerateColumns="true" |
| AllowSorting="true" BackColor="White" AllowPaging="true" PageSize="25" GridLines="None" |
| OnPageIndexChanging="gvCktMap_PageIndexChanging" OnRowCancelingEdit="gvCktMap_RowCancelingEdit" |
| OnRowCommand="gvCktMap_RowCommand" OnRowUpdating="gvCktMap_RowUpdating" OnRowDataBound="gvCktMap_RowDataBound" |
| OnSorting="gvCktMap_Sorting" OnRowEditing="gvCktMap_RowEditing" ShowGroupPanel="True" |
| EnableHeaderContextMenu="true" EnableHeaderContextFilterMenu="true" AllowMultiRowSelection="true" |
| AllowFilteringByColumn="True" AllowCustomPaging="false" OnItemCreated="gvCktMap_ItemCreated" |
| EnableViewState="false" OnNeedDataSource="gvCktMap_NeedDataSource" OnItemUpdated="gvCktMap_ItemUpdated"> |
| <MasterTableView DataKeyNames="sId"> |
| </MasterTableView> |
| <ClientSettings ReorderColumnsOnClient="True" AllowDragToGroup="True" AllowColumnsReorder="True"> |
| <ClientEvents OnRowClick="RowClick" OnRowDblClick="RowDblClick" OnGridCreated="GridCreated" |
| OnCommand="GridCommand" /> |
| <Scrolling AllowScroll="true" UseStaticHeaders="true" /> |
| <Selecting AllowRowSelect="True"></Selecting> |
| <Resizing AllowRowResize="True" AllowColumnResize="True" EnableRealTimeResize="True" |
| ResizeGridOnColumnResize="False"></Resizing> |
| </ClientSettings> |
| <GroupingSettings ShowUnGroupButton="true" /> |
| <PagerStyle Mode="NextPrevAndNumeric" HorizontalAlign="Right" Font-Bold="true" AlwaysVisible="true" /> |
| </telerik:RadGrid> |

| <telerik:RadCodeBlock runat="server" ID="RadCodeBlock1"> |
| <script type="text/javascript"> |
| function OnResponseEnd(sender, args) { |
| var ajaxManager = $find("<%= RadAjaxManager1.ClientID %>"); |
| ajaxManager.ajaxRequest("individual"); |
| } |
| </script> |
| </telerik:RadCodeBlock> |
| <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanelMerge" runat="server" Skin="Office2007" /> |
| <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanelIndividual" runat="server" Skin="Office2007" /> |
| <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" OnAjaxRequest="RadAjaxManager1_AjaxRequest"> |
| <ClientEvents OnResponseEnd="OnResponseEnd" /> |
| <AjaxSettings> |
| <telerik:AjaxSetting AjaxControlID="btnRun"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="pnlMerge" LoadingPanelID="RadAjaxLoadingPanelMerge" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| <telerik:AjaxSetting AjaxControlID="RadAjaxManager1"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="pnlIndividual" LoadingPanelID="RadAjaxLoadingPanelIndividual" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| </AjaxSettings> |
| </telerik:RadAjaxManager> |
| <asp:Button runat="server" ID="btnRun" OnClick="btnRun_Click" Text="Run" /> |
| <table> |
| <tr> |
| <td> |
| <asp:Panel runat="server" ID="pnlMerge" Height="100px" Width="200px" BorderWidth="1"> |
| <asp:Label runat="server" ID="lblMerge" /> |
| </asp:Panel> |
| </td> |
| <td> |
| <asp:Panel runat="server" ID="pnlIndividual" Height="100px" Width="200px" BorderWidth="1"> |
| <asp:Label runat="server" ID="lblIndividual" /> |
| </asp:Panel> |
| </td> |
| </tr> |
| </table> |
| protected void btnRun_Click(object sender, EventArgs e) |
| { // run the merge |
| System.Threading.Thread.Sleep(2000); |
| lblMerge.Text = "Merge Complete"; |
| } |
| protected void RadAjaxManager1_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e) |
| { |
| if (e.Argument == "individual") |
| { // run the individual |
| System.Threading.Thread.Sleep(2000); |
| lblIndividual.Text = "Individual Complete"; |
| } |
| } |
Hello,
I have one simple one but having hard time to find a way to do it.
I want to prevent users to select row on client side with row click on any other cell click but allow only GridClientSelectColumn to select and unselect the row.
AllowMultiRowSelection
="true" on the grid
I have these settings on the mastertableview
<
ClientSettings AllowColumnsReorder="True">
<Selecting AllowRowSelect="true" UseClientSelectColumnOnly="true" />
<Resizing AllowColumnResize="true" />
</ClientSettings>
Please guide me what should i do
| If (TypeOf e.Item Is GridEditFormItem) AndAlso (e.Item.IsInEditMode) Then |
| Dim item As GridEditFormItem = CType(e.Item, GridEditFormItem) |
| Dim chkName As CheckBox = CType(item.FindControl("chkName"), CheckBox) |
| Dim txtResult As RadTextBox = CType(item.FindControl("txtResult"), RadTextBox) |
| chkName.Attributes("onclick") = "NameChange('" & chkName.ClientID & "', '" & txtResult.ClientID & "');" |
| End If |
| function NameChange(chkNameClientID, txtResultClientID) { |
| var chkName = document.getElementById(chkNameClientID); |
| var txtResult = $find(txtResultClientID); |
| if (chkName.checked == false) { |
| txtResult.set_value('Joker'); |
| } else { |
| txtResult.set_value('Batman'); |
| } |
| } |

