Asp.Net下的DataGrid的多层表头

[入库:2005年8月18日] [更新:2007年3月25日]

本文简介:选择自 laojievip 的 blog

先看下表:

业务员 地 区
北京 上海 深圳
张三 100 200 300

  实际上asp.net下的datagrid只不过是一个htmltable,只不过在htmltable的基础上添加了很多属性、方法,纳入viewstate机制,来生成、控制它;有了这一点认识,事情就很好办了:

  我们可以在属性生成器中可以定义列的表头,它实际上只不过是在列之间插入了“</td><td>”的html标记,如此而已;因此根据上面的例子,可以在第3列的header里输入以下内容“</td></tr><tr><td>北京</td><td>上海</td><td>深圳</td></tr>”,这时你会发现2层表头就出现了:

业务员 地 区    
北京 上海 深圳  
张三 100 200 300

  但是显然还不够,因为我们还需要行、列的合并
  我们可以在datagrid的itemdatabound事件中处理


if(e.item.itemtype == listitemtype.header)
{
     e.item.cells[0].rowspan = 2;
     e.item.cells[1].columnspan = 3;
     e.item.cells[2].visible = false;
     e.item.cells[3].visible = false;
}


本文关键:Asp.Net下的DataGrid的多层表头
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top