实现效果:
就是GridView的每一行都有一个CheckBox列
标头处的CheckBox的点选与否
联动到当前页的GridView上的CheckBox列的点选
相关设置如下
1. GridView的AutoGenerateColumns=True
这样的话 其他的相关字段就可以不用再多加设置
2. GridView的Html代码如下:
<asp:GridView ID="gv_Selected" runat="server">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="chk_SelectedHeader" runat="server" OnCheckedChanged="chk_SelectedHeader_CheckedChanged" AutoPostBack="true" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chk_Selected" runat="server"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
3. 后台的chk_SelectedHeader_CheckedChanged事件代码如下:
#region gv_Selected 标头的 CheckBox 点击事件
protected void chk_SelectedHeader_CheckedChanged(object sender, EventArgs e)
{
try
{
bool isCheck = ((CheckBox)this.gv_Selected.HeaderRow.FindControl("chk_SelectedHeader")).Checked;
for (int i = 0; i < this.gv_Selected.Rows.Count; i++)
{
((CheckBox)this.gv_Selected.Rows[i].FindControl("chk_Selected")).Checked = isCheck;
}
}
catch (Exception ex)
{
ex.ToString();
}
}
#endregion