今天看到一个人每个月更新博客,结果七年后改行去卖土特产。。。感慨良多。。。
虽然我也想去开餐厅~~
今天需求里有一个多重表头,感觉比较奇特,特意留下记录,以防我的大脑被艾滋海默攻占~~没有女主的命,不能得女主的病~
先看效果 本小主脑残写个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 }
|
个人赶脚上图貌似很局限,也有可能是还米有找到奥秘所在,于是,百度之,有了图二。
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 }
|
|
若不注释掉最后一单元格,将出现非常神奇的效果,亲已测之~~