c#

C# GridView如何实现多级表头

小樊
208
2024-07-15 10:15:38
栏目: 编程语言

在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控件来实现更多级的表头。

0
看了该问题的人还看了