在C#中使用GridView实现多级表头可以通过嵌套GridView来实现。首先在aspx页面中定义多个GridView控件,然后通过代码在后台将它们进行嵌套。
以下是一个简单的示例:
<asp:GridView ID="gridview1" runat="server">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<!-- 第一级表头 -->
First Level Header
</HeaderTemplate>
<ItemTemplate>
<!-- 显示数据 -->
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<!-- 第一级表头 -->
First Level Header
</HeaderTemplate>
<ItemTemplate>
<!-- 显示数据 -->
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:GridView ID="gridview2" runat="server">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<!-- 第二级表头 -->
Second Level Header
</HeaderTemplate>
<ItemTemplate>
<!-- 显示数据 -->
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<!-- 第二级表头 -->
Second Level Header
</HeaderTemplate>
<ItemTemplate>
<!-- 显示数据 -->
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
在后台代码中,将第二个GridView嵌套到第一个GridView的某个列中:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
gridview1.DataSource = GetDataForFirstLevel();
gridview1.DataBind();
gridview1.Rows[0].Cells[0].Controls.Add(gridview2);
}
}
在上面的示例中,gridview1和gridview2是两个GridView控件,通过将gridview2添加到gridview1的指定位置,实现了多级表头的效果。您可以根据实际需求定义更多的GridView控件来实现更多级的表头。