I need to implement client-side Select All functionality in a nested RadGrid, however, I cannot use the default Telerik select functionality. Following is the code. I am calling a JS method upon click of the checkbox in the header and want to select or deselect based on the state of the header checkbox.
<
telerik:RadGrid
ID
=
"Orders"
AllowRowSelect
=
"true"
AllowCustomPaging
=
"true"
runat
=
"server"
OnItemCommand
=
"Orders_ItemCommand"
OnItemDataBound
=
"Orders_ItemDataBound"
OnNeedDataSource
=
"Orders_NeedDataSource"
AutoGenerateColumns
=
"false"
AllowSorting
=
"false"
GroupingSettings-CaseSensitive
=
"false"
>
<
ClientSettings
>
<
Selecting
AllowRowSelect
=
"true"
/>
<
ClientEvents
OnFilterMenuShowing
=
"filterMenushowing"
/>
</
ClientSettings
>
<
MasterTableView
EditMode
=
"InPlace"
AllowFilteringByColumn
=
"false"
>
<
Columns
>
<%--Some columns--%>
</
Columns
>
<
NestedViewTemplate
>
<
asp:Panel
ID
=
"pnlAsset"
runat
=
"server"
>
<
telerik:RadTabStrip
runat
=
"server"
ID
=
"AssetTabStrip"
MultiPageID
=
"MultiPage1"
SelectedIndex
=
"0"
Skin
=
"Windows7"
>
<
Tabs
>
<
telerik:RadTab
runat
=
"server"
Text
=
"Something"
PageViewID
=
"RadPageView1"
></
telerik:RadTab
>
<%--Some more tabs--%>
</
Tabs
>
</
telerik:RadTabStrip
>
<
telerik:RadMultiPage
runat
=
"server"
ID
=
"Multipage1"
SelectedIndex
=
"0"
>
<
telerik:RadPageView
runat
=
"server"
ID
=
"RadPageView1"
>
<
div
id
=
"divAsset"
>
<
telerik:RadGrid
ID
=
"Assets"
runat
=
"server"
AutoGenerateColumns
=
"False"
Skin
=
"Windows7"
AllowSorting
=
"false"
CssClass
=
"GridMargin"
AllowPaging
=
"true"
PageSize
=
"10"
GroupingSettings-CaseSensitive
=
"false"
GridLines
=
"None"
CellSpacing
=
"0"
OnItemDataBound
=
"Assets_ItemDataBound"
OnItemCommand
=
"Assets_ItemCommand"
OnNeedDataSource
=
"Assets_NeedDataSource"
AllowCustomPaging
=
"true"
>
<
ClientSettings
>
<
Selecting
AllowRowSelect
=
"false"
/>
<
ClientEvents
OnFilterMenuShowing
=
"filterMenushowing"
/>
</
ClientSettings
>
<
MasterTableView
EditMode
=
"InPlace"
AllowFilteringByColumn
=
"false"
>
<
Columns
>
<
telerik:GridTemplateColumn
UniqueName
=
"move"
AllowFiltering
=
"false"
>
<
HeaderTemplate
>
<
asp:CheckBox
ID
=
"chkSelectAll"
runat
=
"Server"
onclick
=
"checkAssetGridAll(this);"
/>
</
HeaderTemplate
>
<
ItemTemplate
>
<
asp:CheckBox
ID
=
"chkSelect"
runat
=
"server"
/>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<%--Some columns--%>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
</
div
>
</
telerik:RadPageView
>
</
telerik:RadMultiPage
>
</
asp:Panel
>
</
NestedViewTemplate
>
</
MasterTableView
>
</
telerik:RadGrid
>
I tried the following JS, but it keeps alerting length as 0.
var
masterTable = $find(
"<%= Orders.ClientID %>"
).get_masterTableView();
var
dataItems = masterTable.get_dataItems();
for
(
var
i = 0; i < dataItems.length; i++) {
alert(dataItems[i].get_nestedViews().length);
}
How can I implement the same?