smartforms控制分页,统计合计数

来源:互联网 发布:qq号人肉搜索软件 编辑:程序博客网 时间:2024/06/08 16:55

关于分页的,记录一下。

 

原文地址:http://blog.csdn.net/donkey2004112103/archive/2009/04/23/4105316.aspx

 

1.window的用处

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

2.强制分页

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

 

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

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

 

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

 

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

 

3.统计合计数

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

4.小技巧

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

 

原创粉丝点击