通过单击列标签标题在网格视图控件内选择多个复选框

时间:2010-10-27 09:05:23

标签: c# javascript asp.net gridview

我有一个网格视图控件,其中模板字段包含项目模板作为复选框控件 并且标题模板包含带有列标题名称的标签。

我想点击coulmn标题标签,并且必须选中所有复选框。

请提供一些示例或想法,告诉我如何实现这一目标

<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" CellPadding="4"
        ForeColor="#333333" GridLines="None" >
        <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
        <Columns>
            <asp:TemplateField HeaderText="" >
            <ItemTemplate>
            <asp:CheckBox ID="val_id" runat="server" />
            </ItemTemplate>
            <HeaderTemplate>
            <label>
            Rise Needed
            </label>
            </HeaderTemplate>
            </asp:TemplateField>
        <Columns>

1 个答案:

答案 0 :(得分:0)

将HeaderTemplate标签更改为LinkBut​​ton并指定Click事件。

        <HeaderTemplate>       
        <asp:LinkButton ID="btnRiseNeeded" runat="server" Text="Rise Needed" OnClick="btnRiseNeeded_Click" />       
        </HeaderTemplate>  

然后当单击按钮时,循环遍历GridView行并选中该框。

foreach(var row in GridView2.Rows)
{
   var cbx = (CheckBox)row.FindControl("val_id");
   cbx.Checked = true;
}

这段代码不在我的脑海中,因此可能需要进行一些修改。此外,我不确定复选框是否会在PostBack上保持检查状态。试一试。