帮忙看看,这个样式怎么实现?(高分)

yanyl2001 2004-08-11 03:58:28
数据:
|---------|---------|--------|----------|----------|
| a | a1 | b1 | c1 | d1 |
|---------|---------|--------|----------|----------|
| a | a2 | b2 | c2 | d2 |
|---------|---------|--------|----------|----------|
| a | a3 | b2 | c3 | d3 |
|---------|---------|--------|----------|----------|
| b | a1 | b3 | c4 | d4 |
|---------|---------|--------|----------|----------|
| c | a1 | b4 | c5 | d4 |
|---------|---------|--------|----------|----------|
| c | a1 | b4 | c6 | d5 |
|---------|---------|--------|----------|----------|

1、要求可以按任意一列分组:(分组列有顺序,第一列)
|---------|---------|--------|----------|----------|
| | a2 | b2 | c2 | d2 |
| a |---------|--------|----------|----------|
| | a3 | b2 | c3 | d3 |
|---------|---------|--------|----------|----------|
| b | a1 | b3 | c4 | d4 |
|---------|---------|--------|----------|----------|
| | a1 | b4 | c5 | d4 |
| C |---------|--------|----------|----------|
| | a1 | b4 | c6 | d5 |
|---------|---------|--------|----------|----------|
***************************************************************************
(第一列,第二列)
|---------|---------|--------|----------|----------|
| | a2 | b2 | c2 | d2 |
| a |---------|--------|----------|----------|
| | a3 | b2 | c3 | d3 |
|---------|---------|--------|----------|----------|
| b | a1 | b3 | c4 | d4 |
|---------|---------|--------|----------|----------|
| | | b4 | c5 | d4 |
| C | a1 |--------|----------|----------|
| | | b4 | c6 | d5 |
|---------|---------|--------|----------|----------|
*****************************************************************************
2、 可以多行合并:(第四行)
|---------|---------|--------|----------|----------|
| | a2 | b2 | c2 | d2 |
| a |---------|--------| |----------|
| | a3 | b2 | c3 | d3 |
|---------|---------|--------|----------|----------|
| b | a1 | b3 | c4 | d4 |
|---------|---------|--------|----------|----------|
| | a1 | b4 | c5 | d4 |
| C |---------|--------| |----------|
| | a1 | b4 | c6 | d5 |
|---------|---------|--------|----------|----------|
**********************************************************************************
(第四行,第五行)
|---------|---------|--------|----------|----------|
| | a2 | b2 | c2 | d2 |
| a |---------|--------| | |
| | a3 | b2 | c3 | d3 |
|---------|---------|--------|----------|----------|
| b | a1 | b3 | c4 | d4 |
|---------|---------|--------|----------|----------|
| | a1 | b4 | c5 | d4 |
| C |---------|--------| | |
| | a1 | b4 | c6 | d5 |
|---------|---------|--------|----------|----------|
****************************************************************************************
3、增加小计行
|---------|---------|--------|----------|----------|
| | a2 | b2 | c2 | d2 |
| a |---------|--------|----------|----------|
| | a3 | b2 | c3 | d3 |
|---------|---------|--------|----------|----------|
| 小计 | a2+a3 | b2+b2 | c2+c3 | d2+d3 |
|---------|---------|--------|----------|----------|
| b | a1 | b3 | c4 | d4 |
|---------|---------|--------|----------|----------|
| 小计 | a1 | b3 | c4 | d4 |
|---------|---------|--------|----------|----------|
| | a1 | b4 | c5 | d4 |
| C |---------|--------|----------|----------|
| | a1 | b4 | c6 | d5 |
|---------|---------|--------|----------|----------|
| 小计 | a1+a1 | b4+b4 | c5+c6 | d4+d5 |
|---------|---------|--------|----------|----------|
| 合计 | …… | …… | …… | …… |
|---------|---------|--------|----------|----------|
我想大家应该明白我的意思了,看看要怎么实现,(分多的是)。
...全文
107 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanyl2001 2004-08-13
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/3264/3264351.xml?temp=.9026453
我已经结贴了,但这个贴里还没看到什么有用,不好给分

请高手指点
hhzh426 2004-08-12
  • 打赏
  • 举报
回复
这个应该可以实现
用table,datareader来将table中填充数据,填充时,每个tablecell增加一个attribute=>
initcol="xxx",initname="yyy"
这样如果你要合并第一列,则先用一个td1变量指向第一行第一列(并获取其initcol属性),然后依次获取其后连续行的具有相同initcol属性值的tablecell(td2),如果td1与td2的值相同的initname值,则将td1、td2(同时在td1中增加属性表示其是经过合并的)合并(即td1的rowspan+1、td2删除),再取下一行(td2),如此直到最后一行;如果td1与td2不符合合并条件,则td1指向td2,td2指向其下一行,如法炮制。

思路是你将需要合并的依据作为属性值添加到datacell的属性集合中。initcol属性是要添加的,表示该单元格在原始表中的列位置,用该属性可以省去因为前面列的合并而产生的每行具有的列的数量不等而造成合并后面列时不必要的对应列的位置的判断。

至于小计,仍然可以通过遍历表的方式,通过在指定位置增加行的方式来显示小计数据,增加行的位置是依据具有合并属性的单元格的rowspan来判断的。

这只是一个思路,具体代码你可以自己书写。
yanyl2001 2004-08-12
  • 打赏
  • 举报
回复
不好意思,我没说明我的意思,每个样式都是通过参数,在后台代码中实现样式。
xzyan80 2004-08-12
  • 打赏
  • 举报
回复
up
孟子E章 2004-08-11
  • 打赏
  • 举报
回复

RowSpan,ColSpan
参见

http://www.xmlasp.net/show.aspx?id=392&cid=12
wzhnet 2004-08-11
  • 打赏
  • 举报
回复
这个 还用 什么 样式呀,在 dw里 操作table easy的很。完成后 代码 考出来就 ok了
.net里 可能也能编辑 但 我觉得很是不方便
2002pine 2004-08-11
  • 打赏
  • 举报
回复
你用html直接写就行了
luckweb 2004-08-11
  • 打赏
  • 举报
回复
没看懂

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧