zoukankan      html  css  js  c++  java
  • GridView实现多表头合并

    1、这里先介绍单纯的GridView多表头合并,先上图:

    可以看到,上图就是生成的多表头,具体的后台代码是在Row_Created事件中创建的。先看创建代码:

    View Code
    protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
    {
    switch (e.Row.RowType)
    {
    case DataControlRowType.Header:

    //总表头
    TableCellCollection tcHeader = e.Row.Cells;
    tcHeader.Clear();

    //第一行表头
    tcHeader.Add(new TableHeaderCell());
    tcHeader[
    0].Attributes.Add("bgcolor", "DarkSeaBlue");
    tcHeader[
    0].Attributes.Add("colspan", "6"); //合并第一行的6列
    tcHeader[0].Text = "用户基本信息</th></tr><tr>";

    //第二行表头
    tcHeader.Add(new TableHeaderCell());
    tcHeader[
    1].Attributes.Add("bgcolor", "DarkSeaGreen");
    tcHeader[
    1].Attributes.Add("colspan", "3");
    tcHeader[
    1].Text = "基本信息";

    tcHeader.Add(
    new TableHeaderCell());
    tcHeader[
    2].Attributes.Add("bgcolor", "DarkSeaGreen");
    tcHeader[
    2].Attributes.Add("colspan", "3");
    tcHeader[
    2].Text = "籍贯信息</th></tr><tr>";

    //第三行表头
    tcHeader.Add(new TableHeaderCell());
    tcHeader[
    3].Attributes.Add("bgcolor", "Khaki");
    tcHeader[
    3].Text = "公司";
    tcHeader.Add(
    new TableHeaderCell());
    tcHeader[
    4].Attributes.Add("bgcolor", "Khaki");
    tcHeader[
    4].Text = "姓名";
    tcHeader.Add(
    new TableHeaderCell());
    tcHeader[
    5].Attributes.Add("bgcolor", "Khaki");
    tcHeader[
    5].Text = "职衔";
    tcHeader.Add(
    new TableHeaderCell());
    tcHeader[
    6].Attributes.Add("bgcolor", "Khaki");
    tcHeader[
    6].Text = "住址";
    tcHeader.Add(
    new TableHeaderCell());
    tcHeader[
    7].Attributes.Add("bgcolor", "Khaki");
    tcHeader[
    7].Text = "城市";
    tcHeader.Add(
    new TableHeaderCell());
    tcHeader[
    8].Attributes.Add("bgcolor", "Khaki");
    tcHeader[
    8].Text = "国籍";

    break;
    }
    }

    需要说明的是,如果想实现多表头,得自己绘制tablecell,具体的方式就是先添加一个新的TableHeaderCell,然后就是设定其Attributes属性,再者如果要进行单元格合并,那么需要指定其colspan或者是rowspan,以便确定是横向合并还是竖向合并。

    前台代码如下:

    View Code
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
    CellPadding
    ="4" DataSourceID="SqlDataSource1"
    GridLines
    ="Vertical" Width="927px" BackColor="White"
    BorderColor
    ="#DEDFDE" BorderStyle="None" BorderWidth="1px"
    onrowcreated
    ="GridView1_RowCreated" ForeColor="Black">
    <RowStyle BackColor="#F7F7DE" />
    <Columns>
    <asp:BoundField DataField="CompanyName" HeaderText="公司" />
    <asp:BoundField DataField="ContactName" HeaderText="姓名" />
    <asp:BoundField DataField="ContactTitle" HeaderText="职衔" />
    <asp:BoundField DataField="Address" HeaderText="住址" />
    <asp:BoundField DataField="City" HeaderText="居住地" />
    <asp:BoundField DataField="Country" HeaderText="国籍"
    SortExpression
    ="Country" />
    </Columns>
    <FooterStyle BackColor="#CCCC99" />
    <PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" />
    <SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
    <HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />
    <AlternatingRowStyle BackColor="White" />
    </asp:GridView>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server"
    ConnectionString
    ="<%$ ConnectionStrings:NorthwindConnectionString %>"
    SelectCommand
    ="SELECT [CompanyName], [ContactName], [ContactTitle], [Address], [City], [Country] FROM [Customers]">
    </asp:SqlDataSource>

    希望对你有用,谢谢。

  • 相关阅读:
    第三周课程总结
    Java第一次学习总结
    第十二周编程总结
    第九周作业
    第八周作业
    第五周编程总结
    第三周作业
    第二周编程总结
    JAVA第二周学习总结
    2019春总结作业
  • 原文地址:https://www.cnblogs.com/scy251147/p/1953170.html
Copyright © 2011-2022 走看看