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

 

 

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

 

转载于:https://www.cnblogs.com/coderinprague/p/4201851.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值