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

虽然我也想去开餐厅~~

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

先看效果 本小主脑残写个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 }

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

Gridview 多重表头 (一)的更多相关文章

  1. Gridview 多重表头 (二)

    多重表头之排序 这是个有点忧桑的故事...Cynthia告诉我,研究一个问题,我们不可能有超过一天的时间... 结果好好几天过去鸟~~还没有完成... 由于不再使用Gridview自带的表头行,于是无 ...

  2. GridView合并表头多重表头

    后台代码: using System; using System.Data; using System.Configuration; using System.Web; using System.We ...

  3. Silverlight多重表头实现

    效果: 实现主要逻辑:通过动态拼接XML生成表头样式,绑定到列上. 主要是动态拼接XML时要仔细核对对应的占位行,具体可以看代码,注释很详细 两个类一个接口 NTree<T>:定义表头树形 ...

  4. GridView合并表头、多重表头(转)

    protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e) { switch (e.Row.RowType) ...

  5. gridview自定义表头

    gridview为我们提供了丰富的接口,用于满足自定义需求. 通常asp:gridview会根据绑定的列Columns自动生成表头,展现在前台元素. 序号 类别 有时候需要复杂一些的表头. 序号 类别 ...

  6. GridView 自定义表头

    //修改表头 protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e) { switch (e.Row.Ro ...

  7. Gridview 重建表头/单击单元格弹出对话框/改变单元格背景色

    整理工作~ 完整的代码在GitHub上, 路径: 项目背景:追踪某个issue,并且记录每天的状态. 要求:1.点击日期就能更改,并且用颜色标志不同的状态 2.增加按钮可关闭issue 3.布局要求日 ...

  8. GridView实现多表头合并[转]

    1.这里先介绍单纯的GridView多表头合并,先上图: 可以看到,上图就是生成的多表头,具体的后台代码是在Row_Created事件中创建的.先看创建代码: protected void GridV ...

  9. 如何让Gridview在没有数据的时候显示表头(asp.net)

    原文:如何让Gridview在没有数据的时候显示表头(asp.net) 1.前言 当对GridView控件进行数据绑定时,如果绑定的记录为空,网页上就不显示GridView,造成页面部分空白,页面布局 ...

随机推荐

  1. 数据存储: sqlite,coredata plist 归档

    sql 语句  结构化查询语言 通用数据库操作语言1.创建数据库create database 1407EDB2.删除数据库drop database 1407EDB3.备份use master ex ...

  2. OpenGL ES 2.0 shader开发

    1.创建一个shader容器 GLES20.glCreateShader(shaderType); 函数原型为: int glCreateShader (int type) 方法参数: GLES20. ...

  3. 写一个Windows上的守护进程(8)获取进程路径

    写一个Windows上的守护进程(8)获取进程路径 要想守护某个进程,就先得知道这个进程在不在.我们假设要守护的进程只会存在一个实例(这也是绝大部分情形). 我是遍历系统上的所有进程,然后判断他们的路 ...

  4. 哪几个数的阶乘末尾有n个零?

    题目:哪几个数的阶乘末尾有n个0?其中n是一个正整数,从键盘输入. int main( void ) /* name: zerotail.cpp */ { int num, n, c, m; cout ...

  5. C语言实现界面(不通过MFC\避免遗忘)

    感觉MFC不属于程序员细究的东西,今实现基本界面避免日后遗忘. 源代码: #include<windows.h>#include<stdio.h>char str[] = {' ...

  6. Array类型(一)

    1.创建数组的基本方式有两种,第一种使用Array构造函数 使用Array构造函数时可以省略new操作符 2.第二种方式是使用数组字面量表示法 由于IE的实现与其他浏览器不一致,因此我们不赞同使用这个 ...

  7. CentOS 6.4 LNMP 环境编译安装

    1.关闭 SELinux 编辑 /etc/selinux/config SELINUX="disabled" 2.安装编译器 yum install gcc gcc-c++ -y ...

  8. python笔记之subprocess模块

    python笔记之subprocess模块 [TOC] 从Python 2.4开始,Python引入subprocess模块来管理子进程,以取代一些旧模块的方法:如 os.system.os.spaw ...

  9. 居然因为交换错了好几把。。。。,还有坑点是num1可以大于num2

    完数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submissi ...

  10. WCF不支持 ASP.NET 兼容性 解决办法

    错 误提示:无法激活服务,因为它不支持 ASP.NET 兼容性.已为此应用程序启用了 ASP.NET 兼容性.请在 web.config 中关闭 ASP.NET 兼容性模式或将 AspNetCompa ...