我有一个网格视图控件,其中模板字段包含项目模板作为复选框控件 并且标题模板包含带有列标题名称的标签。
我想点击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>
答案 0 :(得分:0)
将HeaderTemplate标签更改为LinkButton并指定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上保持检查状态。试一试。