大部分是利用在Pager创建时将Pager列去掉而和Header一起形成两行表头(注Pager会在Header前先建立)
如[http://dev.csdn.net/develop/article/18/18971.shtm]
自己也认真学习了一天,发现DATAGRID实际上还是table,
所以我就只用DATALIST实现就可以搞贴
再加个分页函数,完全OK.
posted on 2005-10-14 14:11 Blackie 阅读(544) 评论(6) 编辑 收藏 引用 网摘
评论
# re: DataGrid中创建复杂表头方法,欢迎多交流点方法 2005-10-17 11:29 谢纬强
1、DataGrid显示双层表头
假设你的DataGrid有三列,现在想将前两列作为"大类1",第三列作为"大类2",现在,你可以在ItemDataBound事件中加入下面的代码:
if (e.Item.ItemType == ListItemType.Header)
{
e.Item.Cells[0].ColumnSpan = 2;
e.Item.Cells[0].Text = "大类1</td><td>大类2</td></tr><tr><td>" + e.Item.Cells[0].Text;
}
用这个方法可以为任意添加新行。
2、设置绑定列或者自动生成列的编辑框宽度
请在你的ItemDataBound事件中加入一下代码:
if (e.Item.ItemType == ListItemType.EditItem)
{
for (int i = 0; i < e.Item.Cells.Count; i++)
{
TextBox txt = (TextBox)e.Item.Cells.Controls[0];
txt.Width = Unit.Pixel(50);
}
}
回复 更多评论
# re: DataGrid中创建复杂表头方法,欢迎多交流点方法 2005-11-06 11:49 我是菜鸟想学学
我想问问这么添加了以后,你的HeaderTemplate表头每列宽度和ItemTemplate的内容的每列宽度可以相应地对齐么?因为内容部分的信息长度各有各的长度。 回复 更多评论
# re: DataGrid中创建复杂表头方法,欢迎多交流点方法 2005-11-07 08:50 谢
我做的实际上整个就只是一个Table,所以是会对齐的。 回复 更多评论
# re: DataGrid中创建复杂表头方法,欢迎多交流点方法 2005-11-29 16:03 Freemhy
____________________________________
| Title1 | | |
|------------------| Title2 | Title3 |
| Sub1 | Sub2 | | |
---------------------------------------------------------
| 1A | 1B | 1C | 1D |
---------------------------------------------------------
| 2A | 2B | 2C | 2D |
---------------------------------------------------------
若实现此样式,可参见如下:
<asp:datagrid + e.Item.Cells[0].Text;
}
}