I have a hierarchal grid with check boxes against all the records (both parent and child), I also have a select all option which selects all the records in parent as well child. I am unable find the inner grid using FindControl method. Do let me know if you have any suggestion.
protected void ToggleSelectedState(object sender, EventArgs e) { if ((sender as CheckBox).Checked) { foreach (GridDataItem dataItem in radGridProgramList.MasterTableView.Items) { (dataItem.FindControl("cbSelect") as CheckBox).Checked = true; dataItem.Selected = true; RadGrid radGridPolicyList = (RadGrid)dataItem.FindControl("radGridPolicyList"); foreach (GridDataItem InnerdataItem in radGridPolicyList.MasterTableView.Items) { (InnerdataItem.FindControl("cbSelect") as CheckBox).Checked = true; InnerdataItem.Selected = true; } } } else { foreach (GridDataItem dataItem in radGridProgramList.MasterTableView.Items) { (dataItem.FindControl("cbSelect") as CheckBox).Checked = false; dataItem.Selected = false; } } }<telerik:RadGrid ID="radGridProgramList" AllowMultiRowSelection="true" runat="server" Width="100%" Height="476px" ShowStatusBar="true" AutoGenerateColumns="False" PageSize="15" AllowSorting="True" AllowPaging="True" OnItemCommand="RadGrid_ItemCommand" OnNeedDataSource="RadGrid_NeedDataSource" OnPreRender="RadGridClientList_PreRender" GridLines="Vertical"> <ClientSettings AllowExpandCollapse = "true" EnableRowHoverStyle="true"> <Scrolling AllowScroll="True" UseStaticHeaders="True" SaveScrollPosition="True" /> <Selecting AllowRowSelect="false" /> </ClientSettings> <PagerStyle Mode="NumericPages"></PagerStyle> <MasterTableView ClientDataKeyNames="ProgramId" Name="Programs" Width="100%" GridLines="Vertical" NoMasterRecordsText="" ShowHeadersWhenNoRecords="false"> <Columns> <telerik:GridTemplateColumn UniqueName="CheckBoxTemplateColumn"> <HeaderTemplate> <asp:CheckBox id="headerChkbox" OnCheckedChanged="ToggleSelectedState" AutoPostBack="True" runat="server"></asp:CheckBox> </HeaderTemplate> <ItemTemplate> <asp:CheckBox id="cbSelect" OnCheckedChanged="ToggleRowSelection" AutoPostBack="True" runat="server"></asp:CheckBox> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn SortExpression="ProgramId" HeaderText="Program ID" DataField="ProgramId" UniqueName="ProgramId" Visible="false" /> <telerik:GridTemplateColumn UniqueName="ProgramName" HeaderText="Program Name" DataField="ProgramName" HeaderStyle-Width="280px"> <ItemTemplate> <asp:Label ID="lblProgramName" runat="server" Text='<%#(Eval("ProgramName").ToString().Length >39)?Eval("ProgramName").ToString().Substring(0, 39) + "...":Eval("ProgramName") %>' /> <telerik:RadToolTip ID="ProgramNameToolTip" runat="server" TargetControlID="lblProgramName" Width="150px" RelativeTo="Element" Position="MiddleRight" EnableShadow="true"><%# Eval("ProgramName") %></telerik:RadToolTip> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn SortExpression="ProgramEffectiveDate" AllowSorting = "false" HeaderText="Eff. Date" DataField="ProgramEffDate" DataFormatString="{0:MM/dd/yyyy}" /> <telerik:GridBoundColumn SortExpression="ProgramExpiryDate" AllowSorting = "false" HeaderText="Exp. Date" DataField="ProgramExpDate" DataFormatString="{0:MM/dd/yyyy}" /> <telerik:GridBoundColumn SortExpression="FSGOfficeName" AllowSorting = "false" HeaderText="FSG Office" DataField="FSGOfficeName" /> <telerik:GridBoundColumn SortExpression="FSGProgramTeamName" AllowSorting = "false" HeaderText="FSG Team" DataField="FSGTeamName" /> <telerik:GridTemplateColumn Reorderable="false" Resizable="false"> <HeaderStyle Width="20px" /> <ItemStyle Width="20px" HorizontalAlign="Center" /> </telerik:GridTemplateColumn> </Columns> <NestedViewTemplate> <div class="programBackground"> <telerik:RadGrid ID="radGridPolicyList" AllowMultiRowSelection="true" runat="server" AutoGenerateColumns="false" OnNeedDataSource="RadGrid_NeedDataSource" OnItemCommand="RadGrid_ItemCommand"> <ClientSettings AllowExpandCollapse = "true" EnableRowHoverStyle="true"> <Scrolling AllowScroll="True" UseStaticHeaders="True" SaveScrollPosition="True" /> <Selecting AllowRowSelect="false" /> </ClientSettings> <MasterTableView ClientDataKeyNames="PolicyId" Name="Policies" Width="100%" GridLines="Vertical" NoMasterRecordsText="" ShowHeadersWhenNoRecords="false"> <Columns> <telerik:GridTemplateColumn UniqueName="CheckBoxTemplateColumn"> <ItemTemplate> <asp:CheckBox id="cbSelect" OnCheckedChanged="ToggleRowSelection" AutoPostBack="True" runat="server"></asp:CheckBox> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn SortExpression="PolicyId" HeaderText="PolicyId" DataField="PolicyId" UniqueName="PolicyId" Visible="false" /> <telerik:GridBoundColumn SortExpression="PolicyNumber" HeaderText="Policy Number" DataField="PolicyNumber" /> <telerik:GridBoundColumn SortExpression="PolicyEffectiveDate" HeaderText="Policy Eff. Date" DataField="PolicyEffectiveDate" /> <telerik:GridBoundColumn SortExpression="PolicyExpiryDate" HeaderText="Policy Exp. Date" DataField="PolicyExpiryDate" /> <telerik:GridTemplateColumn Reorderable="false" Resizable="false"> <HeaderStyle Width="20px" /> <ItemStyle Width="20px" HorizontalAlign="Center" /> </telerik:GridTemplateColumn> </Columns> <NoRecordsTemplate>The Program doesn't have Policies</NoRecordsTemplate> </MasterTableView> <ClientSettings AllowKeyboardNavigation = "true" > <Scrolling AllowScroll="true" UseStaticHeaders="true" /> <Selecting AllowRowSelect="True"></Selecting> </ClientSettings> </telerik:RadGrid> </div> </NestedViewTemplate> <NoRecordsTemplate>There are no clients</NoRecordsTemplate> </MasterTableView> <ClientSettings AllowKeyboardNavigation = "true" > <Scrolling AllowScroll="true" UseStaticHeaders="true" /> <Selecting AllowRowSelect="True"></Selecting> </ClientSettings> </telerik:RadGrid>