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

虽然我也想去开餐厅~~

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

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

Gridview 多重表头 (一)-LMLPHP

 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 }
 

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

 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 }

Gridview 多重表头 (一)-LMLPHP

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

05-11 03:03