smartforms控制分页,统计合计数

今天做了一个表单的打印又多了解了些smartforms。

1.window的用处

如果一个smartforms要求任何时候都要打印表头表尾可以用table实现,但是table分页的时候根据之前的测试会有点小问题。这个时候可以表头表尾用windows,里面用一个模板。(这个时候通常是套打,把上边距和左边距弄好)这样表头和表尾就会固定好。而且只要有新的一页表头和表尾都会出现。

2.强制分页

套打要求如果超过11行则强制分页这是如何做到了?可以在smartforms里写代码去控制。首先当然要有一个统计行数的变量在全局定义里定义。如下图:

image

那每打印一行还要统计打印的行数,就要写代码控制了。在loop下可以插入代码,写上

  • G_CURRENTLINES = G_CURRENTLINES + 1.
  • G_PAGINATION = G_CURRENTLINES MOD 11.

就可以达到效果。但是注意里面输入参数要输入G_CURRENTLINES和G_PAGINATION否则会报错,这里不知道为什么这么麻烦。然后再加上一个判断如果G_PAGINATION为0则进行分页。如下图,创建一个”可选的”.

image

其实就是一个判断,在条件里面加上G_PAGINATION为0的判断条件。

image

条件为真时加上分页的命令即可。如下图,注意勾上转到新页

image

3.统计合计数

统计合计数当然也是先自定义一个变量来实现的,然后在遍历的时候进行累加,换页的时候清零。不过我却发现,如果有换页的时候合计数都是0!想了以后明白了,因为新建的window在模板的结点后,smartforms执行顺序是从上到下依次执行的,如果有分页,分页时因为清空了变量,所以又分页的情况下合计数都是0.所以求合计数的时候都再新建一个变量,用它来统计合计数。

4.小技巧

  • 4.1 smartforms在word2007里有时没显示格式,要按Ctr+Shift+Alt+S.就会出现格式的选择。
  • 4.2 上边距 + window.高度 <= 纸张.高度
  • 4.3 有时字体设置太大,或者一列的宽度较小会造成自动换行!如果把高度设置的低点的话,这时又不能自动换行,会把字符串截断的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值