我有一个嵌套的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
有什么想法吗?非常感谢。
答案 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>