子gridview的单个标题行

时间:2015-09-21 03:53:36

标签: asp.net vb.net

我有一个嵌套的gridview,它可以很好地处理一个看似简单的问题。我不希望在每个子gridview上重复标题。我希望子gridview的标题显示在父gridview的TemplateField HeaderText区域中。我似乎无法找到一个好方法。

对于实例,我目前有这个......

 gv1Header 

           gv2Header gv2Header

 data         data     data
              data     data

           gv2Header gv2Header
 data         data     data     
              data     data

但我想看到这个......

gv1Header    gv2Header   gv2Header
   data         data        data 
                data        data
   data         data        data
                data        data

有什么想法吗?非常感谢。

2 个答案:

答案 0 :(得分:0)

实现GridView的事件RowDataBound并保留gv1Header列中每个单元格的值。如果单元格中的值与前一个值相同,则将单元格文本设置为空字符串。

答案 1 :(得分:0)

最简单的方法是为每列使用多个内部gridview并设置

  

ShowHeader ="假"

例如,如果您的内部网格有3列,则应在主网格中添加3个templatefield。

    <asp:GridView runat="server" ID="grd" AutoGenerateColumns="false">

        <Columns>
            <asp:BoundField HeaderText="col1" DataField="name" />

            <asp:TemplateField HeaderText="Col2" >
                <ItemTemplate>

                   <asp:GridView runat="server" ID="fdf" ShowHeader="false">
                       <Columns>
                           <asp:BoundField DataField="InnerCol1" />
                       </Columns>
                   </asp:GridView>

                </ItemTemplate>
            </asp:TemplateField>


            <asp:TemplateField  HeaderText="Col3" >
                <ItemTemplate>

                   <asp:GridView runat="server" ID="fdf" ShowHeader="false">
                       <Columns>
                           <asp:BoundField DataField="InnerCol2" />
                       </Columns>
                   </asp:GridView>

                </ItemTemplate>
            </asp:TemplateField>



        </Columns>

    </asp:GridView>