Introduction
In this article we will see how to check and uncheck all CheckBoxes of an ASP.NET GridView control.
Background
There are times when we need to use a CheckBox control in an ASP.NET GridView for allowing selection of a particular row of the GridView. In some cases a GridView can contain 100s 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.
GridView Application
Create a new Web Application using Visual Studio.
On the default.aspx page, place a 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>
Place two buttons on the WebForm; one for checking and the other for unchecking all checkboxes.
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. As you can see from the below code, we look for CheckBox with ID chkId and check and uncheck it.
- private void CheckState(bool p)
- {
- foreach (GridViewRow row in GridView1.Rows)
- {
- CheckBox chkcheck = (CheckBox)row.FindControl("chkid");
- chkcheck.Checked = p;
- }
- }
Now, get data from a data source, bind your GridView and run it. You should be able to check or uncheck all check boxes by clicking a button.
Conclusion
By using a simple method we are able to check/uncheck 100 of rows also in GridView.