【问题标题】:how to get datakey value when row double click radgrid行双击radgrid时如何获取datakey值
【发布时间】:2013-11-05 11:00:14
【问题描述】:

我在行双击时使用以下代码获取数据键值,现在我想在服务器端使用这个键值,我怎样才能在那里获得这个值(或)如何将这个值传递给服务器端?

<telerik:RadScriptBlock ID="RadScriptBlock1" runat="server"> 
    <script type="text/javascript"> 
        function RadGrid1_RowDblClick(sender, args) {                    
            var keyValue = dataItem.getDataKeyValue('WageID'); 
            // want to get this keyvalue in server side 
        } 
    </script> 
</telerik:RadScriptBlock> 

<telerik:RadGrid ID="RadGrid1" runat="server" 
    OnNeedDataSource="RadGrid1_NeedDataSource"> 
    <MasterTableView ClientDataKeyNames="ID"> 
    </MasterTableView> 
    <ClientSettings> 
        <ClientEvents OnRowDblClick="RadGrid1_RowDblClick" /> 
    </ClientSettings>                
</telerik:RadGrid> 

【问题讨论】:

    标签: c# javascript asp.net telerik


    【解决方案1】:

    我终于得到了这个问题的答案,下面是答案

       <telerik:RadScriptBlock ID="RadScriptBlock1" runat="server"> 
    <script type="text/javascript"> 
        function RadGrid1_RowDblClick(sender, args) { 
        //changed code here 
          var grid = $find("<%= RadGrid1.ClientID %>");
                var MasterTable = grid.get_masterTableView();
                var row = MasterTable.get_dataItems()[eventArgs.get_itemIndexHierarchical()];
                var key = MasterTable.getCellByColumnUniqueName(row, "WageID");  // get the value by uniquecolumnname
                var ID = key.innerHTML;        
                MasterTable.fireCommand("MyClick2",ID);        
         } 
    </script> 
    </telerik:RadScriptBlock> 
    
    <telerik:RadGrid ID="RadGrid1" runat="server" 
    OnNeedDataSource="RadGrid1_NeedDataSource"> 
    <MasterTableView ClientDataKeyNames="ID"> 
    </MasterTableView> 
    <ClientSettings> 
        <ClientEvents OnRowDblClick="RadGrid1_RowDblClick" /> 
    </ClientSettings>                
    </telerik:RadGrid>
    

    //在radgrid的itemcommand事件下添加这段代码。

    if (e.CommandName == "MyClick2")
        {
            object obj = e.CommandArgument;
            string ID = obj.ToString();
            //logic to fulfill our requirment.
        }
    

    【讨论】:

      【解决方案2】:

      【讨论】:

        【解决方案3】:

        您可以使用以下代码在客户端获取数据键值:

        function OnRowDblClick(sender, args) {
        
                 var key=  args.getDataKeyValue("WageID");
           document.getElementById('<%= HidenField1.ClientID %>').value = key;
        
            } 
        

        要将这些值传递给服务器端,一个建议是您可以将其分配给 hiddenfield 并在服务器端访问该隐藏字段。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-02-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-01-15
          • 2014-02-12
          • 1970-01-01
          相关资源
          最近更新 更多