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

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


新建的群(C#):23384106 验证注明
2006-10-26 10:34
上炕不脱鞋
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
上炕不脱鞋
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
上炕不脱鞋
Rank: 1
等 级:新手上路
威 望:1
帖 子:332
专家分:0
注 册:2006-3-19
收藏
得分:0 
以下是引用chenjin145在2006-10-31 11:33:20的发言:

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个单元格,可是他没有合并6个单元格啊~
运行是这种效果:

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




新建的群(C#):23384106 验证注明
2006-10-31 13:52
上炕不脱鞋
Rank: 1
等 级:新手上路
威 望:1
帖 子:332
专家分:0
注 册:2006-3-19
收藏
得分:0 
怎么设啊

新建的群(C#):23384106 验证注明
2006-10-31 14:46
上炕不脱鞋
Rank: 1
等 级:新手上路
威 望:1
帖 子:332
专家分:0
注 册:2006-3-19
收藏
得分:0 

都好几天了
这个问题还没解决
十分郁闷
继续顶上去


新建的群(C#):23384106 验证注明
2006-11-01 08:56
上炕不脱鞋
Rank: 1
等 级:新手上路
威 望:1
帖 子:332
专家分:0
注 册:2006-3-19
收藏
得分:0 
难道真的没有人会啊

新建的群(C#):23384106 验证注明
2006-11-02 14:15
快速回复:[求助]DataGrid三层表头问题
数据加载中...
 
   



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

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