在各种要套打的票据中,有很多不规则的表格。这些表格经常有填充的数据不够实际票据上留出的空隙或者超出实际上留出的空隙。

学g5网J6页712p网(http://www.xwangye.com)

那这时我们该如何设计呢?

学g5网J6页712p网(http://www.xwangye.com)

比如下面的设计界面:

学g5网J6页712p网(http://www.xwangye.com)

山东省非财政税收发票
制单日期   执收单位名称:  
缴款人:   执收单位编码:  
项目编码 项目名称 单位 数量 收费标准 金额
           
           
           
           
           
           
合计金额人民币(大写)                                         (小写)
 
制单人:             

上面的表格的边线是我为了让大家看清楚实际的布局,并且我好控制手动添加上去的,实际的票据和这有很大的区别。

学g5网J6页712p网(http://www.xwangye.com)

下面说一下我的打印思路。

学g5网J6页712p网(http://www.xwangye.com)

因为这里留有6行的循环区,为了方便定位,我们非常希望数据正好是6行,循环区下面的部分不会受上面循环的影响而产生上下移动。

学g5网J6页712p网(http://www.xwangye.com)

既然我们想让上面正好是6行,我们可以在页面写程度时,手动把数据补充为6行。下面说一下补充的思路。

学g5网J6页712p网(http://www.xwangye.com)

一般地,对于asp的程序,我们可以循环6次,以实现6行内容的打印,不够6行我们可以打出空行。对于asp.net,我们一般会把中间那部分用repeater或其他数据控件来处理。那不够6项的如何处理呢?我们也可以动态补充到6项,这时打印出来的也是空内容。

学g5网J6页712p网(http://www.xwangye.com)

还有一个问题是,如果常过6项呢?这时如何处理呢?大家可以参考使用技巧中的分页打印技巧。自己动脑想一下。

学g5网J6页712p网(http://www.xwangye.com)