Here is my my aspx page. I have paging set to true on the grid (which is working properly). I want to toggle the selected state of each of the checkboxes in the GridItems instead of just the GridItems on the current page.
Each GridItem has a chkInclude (its an ItemTemplate).
ASPX Code:
<asp:CheckBox ID="chkIncludeAll" runat="server" AutoPostBack="true" OnCheckedChanged="chkIncludeAll_OnCheckedChanged"
Text="Select/Deselect All" />
<telerik:RadGrid ID="RadGrid1" AutoGenerateColumns="false" AllowPaging="True" AllowSorting="true"
Width="434px" Height="300px" BorderStyle="None" HorizontalAlign="Left" runat="server"
OnNeedDataSource="RadGrid1_NeedDataSource">
<ClientSettings Scrolling-AllowScroll="false">
<ClientEvents OnRowSelected="RadGrid1_RowSelected" />
</ClientSettings>
<MasterTableView ClientDataKeyNames="TimeZoneIndex,Roving" PageSize="15">
<Columns>
<telerik:GridTemplateColumn HeaderText="Include" HeaderTooltip="Include" UniqueName="Include">
<HeaderStyle Width="20px" />
<ItemTemplate>
<asp:CheckBox ID="chkInclude" runat="server" />
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="EmployeeId" UniqueName="EmployeeId" HeaderText="Id"
HeaderTooltip="Id">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="LastName" UniqueName="LastName" HeaderText="Last Name"
HeaderTooltip="Last Name">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="FirstName" UniqueName="FirstName" HeaderText="First Name"
HeaderTooltip="First Name">
</telerik:GridBoundColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>
C# Code:
protected void chkIncludeAll_OnCheckedChanged(Object sender, EventArgs e)
{
CheckBox checkboxIncludeAll = sender as CheckBox;
if (checkboxIncludeAll is CheckBox)
{
foreach (GridItem item in RadGrid1.Items)
{
if (item.ItemType != GridItemType.Item && item.ItemType != GridItemType.AlternatingItem)
{
continue;
}
CheckBox checkboxIncludeSingle = item.FindControl("chkInclude") as CheckBox;
if (checkboxIncludeSingle is CheckBox)
{
checkboxIncludeSingle.Checked = checkboxIncludeAll.Checked;
}
}
}
}