To select all the checkbox at a time inside the gridview using JavaScript go through the below code.
You can get the values of each checkbox wheather it is checked or not in step 4.

Step 1:

<asp:GridView ID=”gvData” runat=”server” AutoGenerateColumns=”false” AllowPaging=”true”
PageSize=”10″ OnPageIndexChanging=”gvData_PageIndexChanging” AlternatingRowStyle-BackColor=”#FFDAB9″
HeaderStyle-BackColor=”#FF8C00″ Width=”800px” OnRowDataBound=”gvData_RowDataBound”>
<Columns>
<asp:BoundField DataField=”id” HeaderText=”id” />
<asp:BoundField DataField=”message” HeaderText=”Message” />
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID=”cbSelectAll” runat=”server” Text=”Select All” />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID=”cbSelectAll” runat=”server” Checked='<%# Convert.ToBoolean(Eval(“isapproved”)) %>’
Text='<%# Eval(“isapproved”).ToString().Equals(“True”) ? ” Approved ” : ” Not Approved ” %>’ />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:Button ID=”btnSave” runat=”server” Text=”save” OnClick=”btnSave_Click” />

Step 2:

On RowDatabound event of gridview bind the javascript method to checkbox.

protected void gvData_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
((CheckBox)e.Row.FindControl(“cbSelectAll“)).Attributes.Add(“onclick“, “javascript:SelectAll(‘” + ((CheckBox)e.Row.FindControl(“cbSelectAll“)).ClientID + “‘)”);
}
}

Code for Paging.

protected void gvData_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gvData.PageIndex = e.NewPageIndex;
FillData();
}

Step 3:

Inside the Script Write the below code.
<script type=”text/javascript”>
function SelectAll(id) {
var grid = document.getElementById(“<%= gvData.ClientID %>”);
var cell;

if (grid.rows.length > 0) {
for (i = 1; i < grid.rows.length – 1; i++) {
cell = grid.rows[i].cells[3];
for (j = 0; j < cell.childNodes.length; j++) {
if (cell.childNodes[j].type == “checkbox”) {
cell.childNodes[j].checked = document.getElementById(id).checked;
}
}
}
}
}
</script>

Step 4:

On Click of Save button write the below code.
protected void btnSave_Click(object sender, EventArgs e)
{
try
{
foreach (GridViewRow row in gvData.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{
CheckBox c = (CheckBox)row.FindControl(“cbSelectAll“);
bool cbValue = c.Checked;
string cid = row.Cells[0].Text;
//update query or do ur requirements here.
FillData();
}
}
}
catch { }
}

protected void FillData()
{
//Ur code to bind data to GridView.
}

In the above code to catch the checked values of each CheckBox the below code is used :

foreach (GridViewRow row in gvData.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{
CheckBox c = (CheckBox)row.FindControl(“cbSelectAll“);
bool cbValue = c.Checked;
}
}

Leave a Comment

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply