I am developing a 2 level hierarchy radgrid.
The Parent grid is populated by importing a csv file's data.
The child grid is supposed to be populated by custom function i call from code behind.
The issue is that the detailtables is not displaying any data although in "e.DetailTableView.DataSource = dtF;" dtF (datatable) have the relevant data.
importcsv.png shows the data that binds to the parent grid.
subject.png shows the detailsbind event.
dtF.png shows the data that need to be bound to child grid.
ui.png is the parent grid that is successfully bound. But on clicking the expand button, child table is not getting displayed although the datasource contains the data.
3 Answers, 1 is accepted
This is the aspx page where i think the issue is but can't seem to find it out.
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="bulkUpload"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="bulkUpload"></telerik:AjaxUpdatedControl> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <telerik:RadAjaxPanel ID="RadAjaxPanel4" LoadingPanelID="RadAjaxLoadingPanel1" runat="server"> <telerik:RadGrid ID="bulkUpload" runat="server" ShowStatusBar="true" AutoGenerateColumns="false" AllowSorting="True" AllowMultiRowSelection="False" AllowPaging="True" OnDetailTableDataBind="bulkUpload_DetailTableDataBind"> <%--OnNeedDataSource="bulkUpload_NeedDataSource"--%> <PagerStyle Mode="NumericPages"></PagerStyle> <ClientSettings AllowExpandCollapse="true"></ClientSettings> <MasterTableView DataKeyNames="Name" AllowMultiColumnSorting="True"> <NoRecordsTemplate> No Record Found </NoRecordsTemplate> <Columns> <telerik:GridTemplateColumn FilterControlAltText="SrNo" AllowFiltering="False" UniqueName="SrNo" HeaderText="Sr. No."> <ItemTemplate> <%#(Container.DataSetIndex+1)%> </ItemTemplate> <ItemStyle Width="6%" /> </telerik:GridTemplateColumn> <%--<telerik:GridTemplateColumn HeaderText="" AllowFiltering="False" UniqueName="lblObjectId"> <ItemTemplate> <asp:Label ID="lblObjectId" runat="server" Text='<%# Bind("ObjectId") %>'></asp:Label> </ItemTemplate> </telerik:GridTemplateColumn>--%> <telerik:GridBoundColumn HeaderText="Keyword" HeaderButtonType="TextButton" DataField="Name"> </telerik:GridBoundColumn> </Columns> <DetailTables> <telerik:GridTableView Name="NameDetails" DataKeyNames="Name" Width="100%"> <Columns> <telerik:GridBoundColumn DataField="Subject" HeaderText="Subject"> </telerik:GridBoundColumn> <%--<telerik:GridTemplateColumn HeaderText="Subject" AllowFiltering="False" UniqueName="lblSubject"> <ItemTemplate> <asp:Label ID="lblSubject" runat="server" Text='<%#Eval("Subject")%>'></asp:Label> </ItemTemplate> </telerik:GridTemplateColumn>--%> </Columns> </telerik:GridTableView> </DetailTables> </MasterTableView> </telerik:RadGrid> </telerik:RadAjaxPanel>
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="bulkUpload"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="bulkUpload"></telerik:AjaxUpdatedControl> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <telerik:RadAjaxPanel ID="RadAjaxPanel4" LoadingPanelID="RadAjaxLoadingPanel1" runat="server"> <telerik:RadGrid ID="bulkUpload" runat="server" ShowStatusBar="true" AutoGenerateColumns="false" AllowSorting="True" AllowMultiRowSelection="False" AllowPaging="True" OnDetailTableDataBind="bulkUpload_DetailTableDataBind"> <%--OnNeedDataSource="bulkUpload_NeedDataSource"--%> <PagerStyle Mode="NumericPages"></PagerStyle> <ClientSettings AllowExpandCollapse="true"></ClientSettings> <MasterTableView DataKeyNames="Name" AllowMultiColumnSorting="True"> <NoRecordsTemplate> No Record Found </NoRecordsTemplate> <Columns> <telerik:GridTemplateColumn FilterControlAltText="SrNo" AllowFiltering="False" UniqueName="SrNo" HeaderText="Sr. No."> <ItemTemplate> <%#(Container.DataSetIndex+1)%> </ItemTemplate> <ItemStyle Width="6%" /> </telerik:GridTemplateColumn> <%--<telerik:GridTemplateColumn HeaderText="" AllowFiltering="False" UniqueName="lblObjectId"> <ItemTemplate> <asp:Label ID="lblObjectId" runat="server" Text='<%# Bind("ObjectId") %>'></asp:Label> </ItemTemplate> </telerik:GridTemplateColumn>--%> <telerik:GridBoundColumn HeaderText="Keyword" HeaderButtonType="TextButton" DataField="Name"> </telerik:GridBoundColumn> </Columns> <DetailTables> <telerik:GridTableView Name="NameDetails" DataKeyNames="Name" Width="100%"> <Columns> <telerik:GridBoundColumn DataField="Subject" HeaderText="Subject"> </telerik:GridBoundColumn> <%--<telerik:GridTemplateColumn HeaderText="Subject" AllowFiltering="False" UniqueName="lblSubject"> <ItemTemplate> <asp:Label ID="lblSubject" runat="server" Text='<%#Eval("Subject")%>'></asp:Label> </ItemTemplate> </telerik:GridTemplateColumn>--%> </Columns> </telerik:GridTableView> </DetailTables> </MasterTableView> </telerik:RadGrid> </telerik:RadAjaxPanel>
To troubleshoot this issue, you can check the following two articles:
1. Proper binding of RadGrid programmatically:
https://www.telerik.com/support/kb/aspnet-ajax/grid/details/how-to-bind-radgrid-properly-on-server-side
2. Disabling AJAX temporarily:
https://www.telerik.com/support/kb/aspnet-ajax/ajaxmanager/details/get-more-descriptive-errors-by-disabling-ajax
Following these suggestions should resolve the issue.
Regards,
Eyup
Progress Telerik