• Gridview 多重表头 (一)


    今天看到一个人每个月更新博客,结果七年后改行去卖土特产。。。感慨良多。。。

    虽然我也想去开餐厅~~

    今天需求里有一个多重表头,感觉比较奇特,特意留下记录,以防我的大脑被艾滋海默攻占~~没有女主的命,不能得女主的病~

    先看效果 本小主脑残写个dropdownlist,忽略之。下图的方法是在不隐藏gridview本身的列标题情况下加一行。

     
     1         protected void GridView2_RowCreated(object sender, GridViewRowEventArgs e)
     2         {
     3             if (e.Row.RowType == DataControlRowType.Header)
     4             {
     5                 GridViewRow rowheader = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal);
     6                 TableHeaderCell cell = new TableHeaderCell();
     7                 cell.Text = "llll";
     8                 cell.ColumnSpan = 4;
     9                 rowheader.Cells.Add(cell);
    10                 ((GridView)sender).Controls[0].Controls.AddAt(0, rowheader);//加到最前面
    11             }
    12         }
    View Code
     

    个人赶脚上图貌似很局限,也有可能是还米有找到奥秘所在,于是,百度之,有了图二。

     1         protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
     2         {
     3             switch (e.Row.RowType)
     4             {
     5                 case DataControlRowType.Header:
     6                     //总表头
     7                     TableCellCollection tcHeader = e.Row.Cells;
     8                     tcHeader.Clear();
     9 
    10                     //第一行表头
    11                     tcHeader.Add(new TableHeaderCell());
    12                     tcHeader[0].Attributes.Add("bgcolor", "DarkSeaBlue");
    13                     tcHeader[0].Attributes.Add("colspan", "4");  //合并第一行的6列
    14                     tcHeader[0].Text = "用户基本信息</th></tr><tr>";
    15 
    16                     //第二行表头
    17                     tcHeader.Add(new TableHeaderCell());
    18                     tcHeader[1].Attributes.Add("bgcolor", "DarkSeaGreen");
    19                     tcHeader[1].Attributes.Add("colspan", "3");
    20                     //tcHeader[1].Attributes.Add("rowspan", "2");
    21                     tcHeader[1].Text = "基本信息";
    22 
    23                     tcHeader.Add(new TableHeaderCell());
    24                     tcHeader[2].Attributes.Add("bgcolor", "DarkSeaGreen");
    25                     tcHeader[2].Attributes.Add("colspan", "3");
    26                     tcHeader[2].Attributes.Add("rowspan", "2");
    27                     tcHeader[2].Text = "籍贯信息</th></tr><tr>";
    28                     //第三行
    29                      tcHeader.Add(new TableHeaderCell());
    30                     tcHeader[3].Attributes.Add("bgcolor", "DarkSeaGreen");
    31                     tcHeader[3].Text = "基本信息";
    32                     tcHeader.Add(new TableHeaderCell());
    33                     tcHeader[4].Attributes.Add("bgcolor", "DarkSeaGreen");
    34                     tcHeader[4].Text = "籍贯信息";
    35                      tcHeader.Add(new TableHeaderCell());
    36                     tcHeader[5].Attributes.Add("bgcolor", "DarkSeaGreen");
    37                     tcHeader[5].Text = "基本信息";
    38                     //tcHeader.Add(new TableHeaderCell());
    39                     //tcHeader[6].Attributes.Add("bgcolor", "DarkSeaGreen");
    40                     //tcHeader[6].Text = "籍贯信息";
    41                     break;
    42             }
    43         }
    View Code

    若不注释掉最后一单元格,将出现非常神奇的效果,亲已测之~~

  • 相关阅读:
    《std测试》
    《关于cmp返回值的理解》
    《武汉大学2020年新生程序设计竞赛》
    《多校打卡 * 2018 Multi-University Training Contest 1》
    《牛客练习赛28-B》
    python使用sqlite示例
    python 使用mysql示例
    使用virtualenv为应用提供了隔离的Python运行环境
    生成字母验证码图片
    模拟微博登录
  • 原文地址:https://www.cnblogs.com/coderinprague/p/4201851.html
Copyright © 2020-2023  润新知