Tuesday, January 19, 2010

GridView "Select all” in Header

Sometimes it would be nice to have a “select all” feature for your grid check boxes. 

image

This can be easily accomplished using the header template of the grid view.

ASP.net code

<asp:GridView ID="gvTagEndorsementTypes" 
runat="server" AutoGenerateColumns="false" >
      
<Columns>                   
<asp:TemplateField HeaderText="Select">
<HeaderTemplate>
<asp:LinkButton ID="lbSelectEndorsements" 
OnClick="ToggleEndorsements_Click" runat="server"> Select 
</asp:LinkButton>
</HeaderTemplate>
<ItemTemplate >
<asp:CheckBox ID="cbSelect" runat="server"/>
</ItemTemplate>
</asp:TemplateField>
...
C# code
protected void ToggleEndorsements_Click(object sender, EventArgs e)
{
foreach (GridViewRow erow in gvTagEndorsementTypes.Rows)
{
CheckBox echeckbox = (CheckBox)erow.FindControl("cbSelect");
//see if the checkbox is checked.             
if (echeckbox.Checked)
{ echeckbox.Checked = false; }
else { echeckbox.Checked = true; }
}
}

No comments:

Post a Comment