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