日期:2014-05-19  浏览次数:20961 次

求助! 水晶报表打印工资条。
要求动态打印工资项。   能适应纸张大小,   超过纸张宽度可以折行。

------解决方案--------------------
不懂,帮顶!
------解决方案--------------------
楼主问题说的不够详细......
------解决方案--------------------
http://www.cnblogs.com/SunnyZhao/articles/213356.html
------解决方案--------------------
up
------解决方案--------------------
把纸张分成n分,打印的时候,可以动态计算下一个工资条的坐标,但是每次计算很麻烦,不通用,所以,可以根据n分,调用同一过各打印工资条,每循环一次,应用Graphics的偏移

我刚把金质打印通做成了n*m/页的小区域,你这个需求只要用n行1列即可实现。

没用过水日,只能说说思路了。
------解决方案--------------------
水晶报表本身就有分页功能
------解决方案--------------------
没怎么用水晶报表
------解决方案--------------------
接分而来
------解决方案--------------------
Section S2;
(S2.ReportObjects[ "txtBDate "] as TextObject).Top
------解决方案--------------------
study
------解决方案--------------------
我是这样做的:
 
 sql table:

yearmonth, percode, pername , paytypeid, payamount
----------------------
200803 00001 张三     1(基本工资) 2000
200803 00001 张三 2(生活补助) 500
.......

在生成工资表时,将上述表转成以下格式(是直接动态生成一个datatable)
若最多有20个工资项目,则生成20个title(n)和value(n) ,无数据的工资项目 title为空,value 为0 

yearmonth, percode, pername, title1, title2, title3, ...... value1, value2, value3 ....
200803   00001   张三 基本工资 生活补助 2000 500  

最后将上述datatable 在crystal report中分2行显示.即可


-----------------------------------
工号: 00001 姓名: 张三 部门: MIS 
基本工资 生活补助
2000 5000

------------------------------------
工号:0002 姓名:李四 部门:
.....
.....




这样做出来的效果是每个工资条固定高度,只显示有数值的项目。效果非常的好。



------解决方案--------------------
study
------解决方案--------------------
都是很好的建议! 值得学习
------解决方案--------------------
楼主没把情况说清楚, 
1.“能适应纸张大小, 超过纸张宽度可以折行。” 
这是在打印机选项里调节的,跟报表代码无关

2.“要求动态打印工资项。 ” 
水晶报表本来就是从数据库中取数据,动态显示并输出(打印,导出)


------解决方案--------------------
我感觉说得还不详细.我正想用呢?能说得更详细一点吗?

------解决方案--------------------
http://www.cnblogs.com/SunnyZhao/articles/213356.html