2015-09-21 31 views
0

我有一个嵌套的gridview,奇妙地工作与一个看似简单的问题。我不想在每个子网格视图上重复标题。我希望子网格视图的标题显示在父网格视图的TemplateField HeaderText区域中。我似乎无法找到一个好办法做到这一点。儿童gridview单头行

举例来说,我现在有这个....

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 

任何想法?非常感谢。

回答

0

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

0

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

ShowHeader =“假”

例如,如果你的内心电网有3列,你应该在主加3模板列格。

<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>