DataTable数据格式如下:
字段名 | 数据类型 | 是否主键 | 说明 |
employID | string | 是 | 员工编号 |
workProID | string | 是 | 工序编号 |
cardDay | string | 是 | 日期(某天) |
workSum | int | 否 | 总件数 |
workProPrice | decimal | 否 | 工价 |
注:该表记录了某个员工某天完成某个工序多少件
希望通过水晶报表打印的格式如下:
<根据员工编号分组>
员工编号:*****
工序编号 |
...日期(天),从01号到31号... |
合计(件数) |
工价 |
金额(元) |
目前我想到的方案和存在的问题:
1、用水晶报表的交叉表实现,工序编号作为行标,日期(天)作为列标
存在问题:不能按要求插入“工价”和“金额”列。当在汇总字段里面插入,同一个工序编号对应的数据会显示成三行。当在列里面插入,同一个日期(天)里面都会存在“工价”和“金额”列。
2、在水晶报表中放置35列。“工序编号”为第一列;日期(天)用公式字段实现(31列),分别选取相应工序编号和相应日期的“总件数”;合计(件数)、工价和金额(元)都很好实现。
存在问题:工序编号会有很多重复,即同一个工序编号在不同的日期(天)做的件数会显示到不同的行中。目前未找到限制工序编号显示唯一的方法。
3、修改DataTable或者新建一个满足打印格式的DataTable再直接关联到水晶报表。
这种方法还没试过,从理论上肯定可以实现,但不知道效率如何。
向各位请教了,前两种方法存在的问题能不能解决?该怎么做?
在此谢谢各位了先。