This is a migrated thread and some comments may be shown as answers.

[Solved] Fined DataKey Value In Detail Table Using JavaScript

4 Answers 278 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Suresh K
Top achievements
Rank 1
Suresh K asked on 10 Nov 2009, 10:02 AM

Hi
I have a Nested Grid.In That I want To Fine The DataKey Value in java script in RowContextMenu Client Event.
here i want to fine the "providerid" where detail Table Name="Providers".
Can Any help Me Please.....

 <telerik:RadGrid ID="RadGridAudio" runat="server" AllowPaging="True" GridLines="None" 
                GroupingEnabled="true" PageSize="20" Skin="Sunset" ShowGroupPanel="True" ShowFooter="True"
                <MasterTableView DataKeyNames="clientid"
                    <DetailTables> 
                        <telerik:GridTableView Name="Accounts" DataKeyNames="accountid" runat="server"
                            <ExpandCollapseColumn Visible="True"
                            </ExpandCollapseColumn> 
                            <DetailTables> 
                                <telerik:GridTableView Name="Providers" DataKeyNames="providerid" runat="server"
                                </telerik:GridTableView> 
                            </DetailTables> 
                        </telerik:GridTableView> 
                    </DetailTables> 
                    <ExpandCollapseColumn Visible="True"
                    </ExpandCollapseColumn> 
                </MasterTableView> 
                <ClientSettings AllowDragToGroup="True" EnableRowHoverStyle="True"
                    <ClientEvents OnRowContextMenu="RowContextMenu" /> 
                    <Selecting AllowRowSelect="True" /> 
                </ClientSettings> 
            </telerik:RadGrid> 

Java Script
 <script type="text/javascript"
           
            function RowContextMenu(sender, eventArgs)  
            {  
               if(eventArgs.get_tableView().get_name() == "Providers")  
                {  
               
                var menu = $find("<%=RadCMenu1.ClientID %>");                  
                var evt = eventArgs.get_domEvent(); 
                 var GetNewValue=eventArgs.getDataKeyValue("providerid"); 
                     document.getElementById("radGridClickedRowIndex").value = GetNewValue
                     alert(GetNewValue) 
                     var index = eventArgs.get_itemIndexHierarchical(); 
                     alert(index) 
                     alert(sender.get_masterTableView().get_dataItems()[index].get_element()) 
                if(evt.target.tagName == "INPUT" || evt.target.tagName == "A")  
                {  
                  return;  
                }                  
                menu.show(evt);   
            
                }                              
            }  
</script> 




Thank you
Suresh K.

4 Answers, 1 is accepted

Sort by
0
Tsvetoslav
Telerik team
answered on 13 Nov 2009, 06:56 AM
Hello Suresh,

I looked at your code snippet and observed that your approach to finding the data-key value in question is correct - just use the args.getDataKeyValue(...) method. Am I missing something?

Best wishes,
Tsvetoslav
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
0
Suresh K
Top achievements
Rank 1
answered on 16 Nov 2009, 09:54 AM

hi.
Thanks for your Response.
When i  replace  DataKeyNames="providerid" with   ClientDataKeyNames="providerid"
It's working.


Thank You
Suresh K

0
Accepted
Shinu
Top achievements
Rank 2
answered on 16 Nov 2009, 10:39 AM
Hi Suresh,

That's right! You would have to add the value of the datafield to the ClientDataKeyNames array of the MasterTableView or a detail GridTableView so that the required column's value would be available through the getDataKeyValue() function of the arguments for client-side event handlers that respond to item events. Here's the relevant help document that you can also refer to:
Extracting key values client-side

Thanks
Shinu.
0
Suresh K
Top achievements
Rank 1
answered on 18 Nov 2009, 06:22 AM
hi Shinu.

Thanks for your Respone.

It's fine.

Thank You
Suresh k
Tags
Grid
Asked by
Suresh K
Top achievements
Rank 1
Answers by
Tsvetoslav
Telerik team
Suresh K
Top achievements
Rank 1
Shinu
Top achievements
Rank 2
Share this question
or