DataGrid的高难问题!!!(看来这个周末休息不了了)
我想在DateGrid中实现如下表格:
工序| 费用明细 | 内部结算收入
-----------------------
| 人工费 | 人工 | 55.56
|-----|---------------
上料| 机械费 | 装载机 | 89.12
| |---------------
| | 推土机 | 87.87
-----------------------
数据都是从数据库中去的,上料-》人工费(机械费)-》人工(装载机、推土机)是三级这样的结构当然还有其他数据,我现在想知道怎么实现这样的表格???
谢谢诸位!!!
问题点数:100、回复次数:18Top
1 楼saucer(思归)回复于 2004-04-04 10:57:07 得分 0
看一下Nested DataGrid,
http://www.dotnetjunkies.com/Tutorial/47792CB0-0990-4BD8-BF84-B6063C4C9BBC.dcik
如果你需要的格式太复杂,用 DataGrid解决不了的话,别在一条路上走到黑,可以手工用编码直接生成Table, TableRow, TableCell,你可以指定TableCell的ColumnSpan和RowSpan属性Top
2 楼zhpsam109(JACKY.昊昊)回复于 2004-04-04 11:03:07 得分 0
向思归老大学习!Top
3 楼hertcloud(·£孙子兵法£·)回复于 2004-04-04 11:06:11 得分 0
学习!Top
4 楼awcyy(流星雨)回复于 2004-04-04 11:13:13 得分 0
upTop
5 楼wxlada(绿茶)回复于 2004-04-04 11:14:27 得分 0
DataGrid的作用是绑定和显示格式的, 而具体要显示的数据,是需要到数据源组织的。一般基本上所有的复杂表格都可以组织出来的。
如你所例的结构,用template来组织<table>,后台的DataTable可以这么组织
工序 费用明细 工具 内部结算收入 RowSpan1 RowSpan2
上料 人工费 人工 55.56 3 1
机械费 装载机 89.12 1 2
推土机 87.87 1 1
RowSpan1是第一层列用的,RowSpan2是第二层列用的。其实是把表格的格式属性也存到了数据源供前台绑定所用。仅供参考
Top
6 楼shiningpolarstar(闪亮的北极星)回复于 2004-04-04 11:19:17 得分 0
可以用模板列吧,在DataGrid模板里再放一个DataGrid里面的DataGrid把页眉页脚都去掉Top
7 楼dragonqq(中合)回复于 2004-04-04 11:35:55 得分 0
先谢谢诸位,我正在试!Top
8 楼dragonqq(中合)回复于 2004-04-04 11:39:24 得分 0
还有上面的只是例子,上料可能还包括其他项,这些项可能包括更多的子项,所以rowspan等也应是动态的,也许我真应该换一下思路!!!Top
9 楼qynum123()回复于 2004-04-04 12:09:19 得分 0
顶Top
10 楼91619600(工藤·新一)回复于 2004-04-04 12:30:00 得分 0
活用datagrid的itemtemplate,把每个template再看成一个控件来用,对它进行单独的格式设定和数据绑定,按照这样的思路进行细化,完全可以实现你想要的格式。Top
11 楼wxlada(绿茶)回复于 2004-04-04 12:40:14 得分 0
有几层在后台DataTable就定义几个Rowspan*的列。格式加进来,无论什么样的格式都可以实现的。Top
12 楼hnahzx(点内特)回复于 2004-04-04 13:59:36 得分 0
gzTop
13 楼liuyu202(学无止境)回复于 2004-04-04 14:37:47 得分 0
学习!Top
14 楼kuibobo(^踏雪无痕)回复于 2004-04-04 14:50:22 得分 0
好好学习!Top
15 楼okokwukai(不老仙翁)回复于 2004-04-04 14:55:09 得分 0
还有一个思路,就是在事件中动态的调整数据源Top
16 楼lyhold(让你飞)回复于 2004-04-04 17:48:12 得分 0
可以手工用编码直接生成Table, TableRow, TableCell,你可以指定TableCell的ColumnSpan和RowSpan属性
老大话,够分量Top
17 楼yjdabc(就是一个软件工人)回复于 2004-04-08 18:32:42 得分 100
我给你发了一个例子!Top
18 楼whj2043(bluewind)回复于 2004-04-08 19:05:37 得分 0
建议还是用html的标签自己生成把,用datagrid做复杂的表格既不方便,
以后修改也麻烦。Top




