要求动态打印工资项。 能适应纸张大小, 超过纸张宽度可以折行。

解决方案 »

  1.   

    http://www.cnblogs.com/SunnyZhao/articles/213356.html
      

  2.   

    把纸张分成n分,打印的时候,可以动态计算下一个工资条的坐标,但是每次计算很麻烦,不通用,所以,可以根据n分,调用同一过各打印工资条,每循环一次,应用Graphics的偏移我刚把金质打印通做成了n*m/页的小区域,你这个需求只要用n行1列即可实现。没用过水日,只能说说思路了。
      

  3.   

    Section S2;
    (S2.ReportObjects["txtBDate"] as TextObject).Top
      

  4.   

    那如何动态添加数据库字段呢? 以往我都是用在dataset.xsd中定义好了的datatable。 能不能动态添加呢?
      

  5.   

    我是这样做的:
     
     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  姓名:李四 部门:
    .....
    .....
    这样做出来的效果是每个工资条固定高度,只显示有数值的项目。效果非常的好。
      

  6.   

    http://www.cnblogs.com/SunnyZhao/articles/213356.html