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
>