I am following this example to implement a grid.
http://demos.telerik.com/aspnet-ajax/grid/examples/hierarchy/autogeneratedhierarchy/defaultcs.aspx
My radgrid markup is below:
<telerik:RadGrid ID="RadGrid1" runat="server" Height="412px" Width="818px" AutoGenerateColumns="true" AllowSorting="true" GroupingSettings-CaseSensitive="false" ClientSettings-Scrolling-AllowScroll="true" AutoGenerateHierarchy="true" PageSize="20" Skin="WebBlue" PagerStyle-AlwaysVisible="true" ClientSettings-ClientEvents-OnRowDblClick="RowDblClick" ClientSettings-Resizing-AllowColumnResize="true" ClientSettings-Scrolling-UseStaticHeaders="false" ClientSettings-Selecting-AllowRowSelect="true" ClientSettings-ClientEvents-OnRowClick="RadGrid1_RowSelected" ClientSettings-Scrolling-SaveScrollPosition="true" AllowFilteringByColumn="true" AllowPaging="true" OnNeedDataSource="RadGrid1_NeedDataSource" OnDetailTableDataBind="RadGrid1_DetailTableDataBind" OnColumnCreated="RadGrid1_ColumnCreated" OnPreRender="RadGrid1_PreRender" OnItemDataBound="RadGrid1_ItemDataBound" OnItemCreated="RadGrid1_ItemCreated" ondatabound="RadGrid1_DataBound"> <MasterTableView AllowMultiColumnSorting="True" ClientDataKeyNames="rvlPropertyID" DataKeyNames="rvlPropertyID" HierarchyLoadMode="Client" Name="Property" Width="100%"> </MasterTableView> <HeaderStyle VerticalAlign="Top" Width="125px" /> <PagerStyle AlwaysVisible="True" /></telerik:RadGrid>I have a drop down that changes the child level of the grid, where it be Assessment or Access. The problem I am running in to is that I allow the user to double click on a row in the child level, and then I will grab the dataKeyValue and launch an editor. I've tried putting these lines in the PreRender event, but it did not work.
switch (m_GridViewType){ case "Access": RadGrid1.MasterTableView.DetailTables[0].Name = "Access"; RadGrid1.MasterTableView.DetailTables[0].DataKeyNames = new string[] { "rvlPropertyID", "rvlPropertyAccessID" }; RadGrid1.MasterTableView.DetailTables[0].ClientDataKeyNames = new string[] { "rvlPropertyID", "rvlPropertyAccessID" }; break; case "Assessment": RadGrid1.MasterTableView.DetailTables[0].Name = "Assessment"; RadGrid1.MasterTableView.DetailTables[0].DataKeyNames = new string[] { "rvlPropertyID", "rvlPropAssessmentID" }; RadGrid1.MasterTableView.DetailTables[0].ClientDataKeyNames = new string[] { "rvlPropertyID", "rvlPropAssessmentID" }; break; case "Status": RadGrid1.MasterTableView.DetailTables[0].Name = "Status"; RadGrid1.MasterTableView.DetailTables[0].DataKeyNames = new string[] { "rvlPropertyID", "rvlPropertyStatusID" }; RadGrid1.MasterTableView.DetailTables[0].ClientDataKeyNames = new string[] { "rvlPropertyID", "rvlPropertyStatusID" }; break; case "Contact": RadGrid1.MasterTableView.DetailTables[0].Name = "Contact"; RadGrid1.MasterTableView.DetailTables[0].DataKeyNames = new string[] { "rvlPropertyID", "cntContactID" }; RadGrid1.MasterTableView.DetailTables[0].ClientDataKeyNames = new string[] { "rvlPropertyID", "cntContactID" }; break; case "Call": RadGrid1.MasterTableView.DetailTables[0].Name = "Call"; RadGrid1.MasterTableView.DetailTables[0].DataKeyNames = new string[] { "rvlPropertyID", "clnCallinLogID" }; RadGrid1.MasterTableView.DetailTables[0].ClientDataKeyNames = new string[] { "rvlPropertyID", "clnCallinLogID" }; break;}But the javascript method never pulls the datakeyValue because it does not have the datakeynames
function RowDblClick(sender, eventArgs) { var propid = eventArgs.getDataKeyValue("rvlPropertyID"); switch (document.getElementById('<%=cmbGridViews.ClientID %>').value) { case "Access": var childID = eventArgs.getDataKeyValue("RvlPropertyAccessID"); break; case "Assessment": var childID = eventArgs.getDataKeyValue("RvlPropAssessmentID"); break; case "Status": var childID = eventArgs.getDataKeyValue("RvlPropertyStatusID"); break; case "Contact": var childID = eventArgs.getDataKeyValue("CntContactID"); break; case "Call": var childID = eventArgs.getDataKeyValue("ClnCallinLogID"); break; default: break; } var targetCell = eventArgs.get_domEvent().target; if (childID == undefined) { if (targetCell.cellIndex == 1) // Property Name window.radopen("Editors/PropertyEditor.aspx?propid=" + propid, "editWindow"); else if (targetCell.cellIndex == 7 && targetCell.innerHTML != "0") // photocounter and does not = 0 window.radopen(GetPhotoViewerURL() + "PhotoViewer.aspx?id=" + propid, "PhotoWindow"); } else { // is child row if (targetCell.cellIndex == 0) // Assessment date window.radopen("Editors/PropertyAssessmentEditor.aspx?id=" + rvlAssessmentID, "editWindow"); else if (targetCell.cellIndex == 11 && targetCell.innerHTML != "0") window.radopen(GetPhotoViewerURL() + "PhotoViewer.aspx?id=" + rvlAssessmentID, "PhotoWindow"); } }