将复选框添加到gridview的标题

时间:2013-07-30 05:49:49

标签: c# asp.net .net vb.net visual-studio-2008

我有以下gridview:

enter image description here

我想把复选框放到这个网格的标题中,意思是数学,物理,化学,生物学标题文本以下。

网格代码:

<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标题的复选框。

1 个答案:

答案 0 :(得分:7)

不确定,但我认为HeaderText中的TemplateField属性可能会导致HeaderTemplate出现问题。查看MSDN上的代码示例,在使用HeaderText时,他们不会使用HeaderTemplate。尝试这样的事情(未经测试):

<asp:TemplateField>
    <HeaderTemplate>
        <asp:CheckBox ID="ChkCity" Text="Physics" runat="server" />
    </HeaderTemplate>
    <ItemTemplate>
        ....
    </ItemTemplate>
</asp:TemplateField>