| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1547 人关注过本帖
标题:[求助]DataGrid三层表头问题
只看楼主 加入收藏
上炕不脱鞋
Rank: 1
等 级:新手上路
威 望:1
帖 子:332
专家分:0
注 册:2006-3-19
收藏
 问题点数:0 回复次数:17 
[求助]DataGrid三层表头问题

private void DataGrid1_ItemCreated_1(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Header)
{
StringBuilder strtext=new StringBuilder();
strtext.Append("</td>");
strtext.Append("<td colspan=6>当月</td>");
strtext.Append("</tr>");

strtext.Append("<tr>");
strtext.Append("<td colspan=1>居民</td>");
strtext.Append("<td colspan=2>一般</td>");
strtext.Append("<td colspan=2>工付业</td>");
strtext.Append("</tr>");

strtext.Append("<tr>");
strtext.Append("<td>" + e.Item.Cells[0].Text);
e.Item.Cells[0].Text =strtext.ToString();
}
}
这个是三层表头代码,他的效果如图:

图片附件: 游客没有浏览图片的权限,请 登录注册


我想实现的效果应该是"当月"在第0行第0单元格开始,不知道为什么他跳过了一个单元格,那位大哥帮忙看看,郁闷半天了。

下面是另一种做法:
if ( e.Item.ItemType == ListItemType.Header )
{
TableCellCollection tcl = e.Item.Cells;//获得表头元素的实例
tcl.Clear();//清除原有控件
tcl.Add( new TableHeaderCell() );//添加表头控件
tcl[0].RowSpan = 3; //定义表头的所占的行数
tcl[0].Text = "项目编号";
//下一行

tcl.Add(new TableHeaderCell());
tcl[1].RowSpan=3;
tcl[1].Text="项目名称";

tcl.Add( new TableHeaderCell() );
tcl[2].ColumnSpan = 3;
tcl[2].Text = "客户</th></tr><tr></th></tr><th>合同金额</th><th>开票金额</th><th>到款金额";

tcl.Add( new TableHeaderCell() );
tcl[3].ColumnSpan = 3;
tcl[3].Text = "供应商</th></tr><tr></th></tr><th>采购合同金额</th><th>开票金额</th><th>付款金额";

}

效果如图:

图片附件: 游客没有浏览图片的权限,请 登录注册


为什么"供应商"不顶在最上面显示啊~~
那位大哥赶紧帮忙看看,弄了好几天了,用别的方法也许,只要能实现上面那种三层表头。

[此贴子已经被作者于2006-11-1 8:55:46编辑过]

搜索更多相关主题的帖子: 表头 DataGrid 
2006-10-26 09:23
scindy
Rank: 1
等 级:新手上路
威 望:1
帖 子:591
专家分:4
注 册:2006-10-23
收藏
得分:0 
你把"当月"加在第一个TD里就行了
StringBuilder strtext=new StringBuilder();
strtext.Append("<td colspan=6>当月</td>");

淘宝新到货: http://shop36082390. 电脑及配件/杀毒U盘/移动硬盘/减肥产品/切苹果器/剥蒜器/个性烟灰缸/装饰彩灯/雨伞/女包//手机座/极品铁观间茶叶/五层布衣柜/三洋/日立投影机
QQ:410243392 (常用)
2006-10-26 09:55
上炕不脱鞋
Rank: 1
等 级:新手上路
威 望:1
帖 子:332
专家分:0
注 册:2006-3-19
收藏
得分:0 

我是加在<td>里了啊,把前面的那个</td>去掉也不行。效果是一样的


新建的群(C#):23384106 验证注明
2006-10-26 10:34
永不回头
Rank: 1
等 级:新手上路
威 望:1
帖 子:228
专家分:0
注 册:2006-9-27
收藏
得分:0 
是不是写错了?
strtext.Append("</td>");
strtext.Append("<td colspan=6>当月</td>");
strtext.Append("</tr>");

人生就是一个字:惨,惨,惨!
2006-10-26 10:49
上炕不脱鞋
Rank: 1
等 级:新手上路
威 望:1
帖 子:332
专家分:0
注 册:2006-3-19
收藏
得分:0 
没错阿,代码我是粘过来的

新建的群(C#):23384106 验证注明
2006-10-26 10:54
上炕不脱鞋
Rank: 1
等 级:新手上路
威 望:1
帖 子:332
专家分:0
注 册:2006-3-19
收藏
得分:0 
谁帮我看看啊
版主大哥们都跑哪里去了。

新建的群(C#):23384106 验证注明
2006-10-27 09:42
wohemachen
Rank: 1
等 级:新手上路
威 望:2
帖 子:641
专家分:0
注 册:2006-9-21
收藏
得分:0 
我昨天在C#那边回答了呀~
我那样写对不?

[glow=255,red,2]桃花坞里桃花庵,桃花庵里桃花仙;桃花仙人种桃树,又摘桃花换酒钱。[/glow]
2006-10-27 12:02
上炕不脱鞋
Rank: 1
等 级:新手上路
威 望:1
帖 子:332
专家分:0
注 册:2006-3-19
收藏
得分:0 

楼上的兄弟会回得贴看到了,我那个是三层的,要是把当月放在下面就是二层了。


新建的群(C#):23384106 验证注明
2006-10-27 15:47
上炕不脱鞋
Rank: 1
等 级:新手上路
威 望:1
帖 子:332
专家分:0
注 册:2006-3-19
收藏
得分:0 
顶上去~~
我逗不信没人会

新建的群(C#):23384106 验证注明
2006-10-30 14:53
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
收藏
得分:0 

private void DataGrid1_ItemCreated_1(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Header)
{
StringBuilder strtext=new StringBuilder();
strtext.Append("当月</td>");
strtext.Append("<td colspan=6></td>");
strtext.Append("</tr>");

strtext.Append("<tr>");
strtext.Append("<td colspan=1>居民</td>");
strtext.Append("<td colspan=2>一般</td>");
strtext.Append("<td colspan=2>工付业</td>");
strtext.Append("</tr>");

strtext.Append("<tr>");
strtext.Append("<td>" + e.Item.Cells[0].Text);
e.Item.Cells[0].Text =strtext.ToString();
}
}

這樣看下


[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-10-31 11:33
快速回复:[求助]DataGrid三层表头问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024476 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved