我有以下gridview:
我想把复选框放到这个网格的标题中,意思是数学,物理,化学,生物学标题文本以下。
网格代码:
<asp:GridView ID="GvSearch" runat="server" CellPadding ="3"
Width="100%" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lblCity" runat="server" Text='<%# Bind("City") %>' ></asp:Label>
<asp:CheckBox ID="ChkCity" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Maths">
<ItemTemplate>
<asp:Label ID="lblMaths" runat="server" Text='<%# Bind("Maths") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Physics">
<ItemTemplate>
<asp:Label ID="lblPhysics" runat="server" Text='<%# Bind("Physics") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Chemistry">
<ItemTemplate>
<asp:Label ID="lblChemistry" runat="server" Text='<%# Bind("Chemistry") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Biology">
<ItemTemplate>
<asp:Label ID="lblBio" runat="server" Text='<%# Bind("Biology") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
我尝试将其添加为:
<asp:TemplateField HeaderText="Physics">
<HeaderTemplate>
<asp:CheckBox ID="ChkCity" runat="server" />
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblPhysics" runat="server" Text='<%# Bind("Physics") %>'></asp:Label>
</ItemTemplate>
但这并没有奏效。
请帮我添加gridview标题的复选框。
答案 0 :(得分:7)
不确定,但我认为HeaderText
中的TemplateField
属性可能会导致HeaderTemplate
出现问题。查看MSDN上的代码示例,在使用HeaderText
时,他们不会使用HeaderTemplate
。尝试这样的事情(未经测试):
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="ChkCity" Text="Physics" runat="server" />
</HeaderTemplate>
<ItemTemplate>
....
</ItemTemplate>
</asp:TemplateField>