Introduction:
In this article we will see how to check and uncheck all CheckBoxes present in an ASP.Net GridView control.
Background:
While programming many times we need to use a CheckBox control in an ASP.Net GridView for allowing selection of a particular row of a GridView. In some cases a GridView can contain 100 of records and if the user wants to select all rows of the GridView then selecting each row one by one is very tedious and a time-consuming job. To make it easier we will see how to write a simple method for selecting all CheckBoxes in a GridView. Take a look at the following snippets.
- Create a new website. On the default.aspx page keep the GridView control with AutogeneratedColumn = false. The source for the GridView should look like below.
asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField ShowHeader="false">
<ItemTemplate>
<asp:CheckBox ID="chkid" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Auth_Name" HeaderText="Author Name" />
<asp:BoundField DataField="Auth_Loc" HeaderText="Location" />
</Columns>
</asp:GridView>
- Keep two buttons on the form; one for checking all checkboxes and the other for unchecking.
- The CheckState method is for performing a check/uncheck operation in the GridView. This method will take true/false as input to check/uncheck the checkboxes of the GridView.
private void CheckState(bool p)
{
foreach (GridViewRow row in GridView1.Rows)
{
CheckBox chkcheck = (CheckBox)row.FindControl("chkid");
chkcheck.Checked = p;
}
}
- Bind your GridView and run.
Conclusion:
By using a simple method we are able to check/uncheck 100 of rows also in GridView.