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.