0

次のコードを使用して、行をダブルクリックしたときにデータキー値を取得しています。このキー値をサーバー側で使用したいのですが、この値を取得するにはどうすればよいですか (または) この値をサーバー側に渡す方法を教えてください。

<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> 
4

3 に答える 3

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.
    }
于 2013-10-28T11:40:06.673 に答える
0

次のコードを使用して、クライアント側で datakeyvalue を取得できます。

function OnRowDblClick(sender, args) {

         var key=  args.getDataKeyValue("WageID");
   document.getElementById('<%= HidenField1.ClientID %>').value = key;

    } 

これらの値をサーバー側に渡すには、これを隠しフィールドに割り当て、サーバー側でその隠しフィールドにアクセスすることをお勧めします。

于 2013-10-28T04:55:48.743 に答える
0

ここで問題を解決できるかもしれません http://demos.telerik.com/aspnet-ajax/grid/examples/overview/defaultcs.aspx

于 2013-10-26T09:06:51.453 に答える