autoBig分页标签实现连续序号和分页合计

问题背景:

之前已写文章已经介绍了润乾的新分页标签autoBig,本文进而针对一个常见的需求:连续序号和分页合计功能,进行详细介绍说明。

解决方案:

首先继承之前介绍autoBig标签时使用的报表模板,请参见《性能优化:分页标签对比(extHtmlaotuBig)》内部RBP地址:http://192.168.0.6:80/reportmis/RBP-27102。另外需要在此报表模板基础之上增加序号列显示分页连续序号,并且在每页进行当前页数据的合计值计算。

报表模板如下:

1、增加报表参数:

首先在该报表模板新增两个参数,参数名分别为:_startRow_endRow

【说明:】

这两个参数名称是不是有些熟悉呢?还记不记得润乾之前废弃的extHtml标签?在使用extHtml标签时,我们就是需要建立类似这两个名称的参数,用作计算起、始行的标志位,在此,润乾的新autoBig标签不需要设置这两个参数,是因为在后台实现中润乾自动封装了,所以省去了我们手动设置的麻烦,但是为了实现我们本文所介绍的序号功能,那么就需要获得这两个隐藏的参数值,所以建立同名参数名接收隐藏参数的值。

2、设置报表模板:

设置A1A2行属性为报表头;设置A4行属性为报表尾。

B2=@_startRow

C2=@_endRow

A3=&C3 扩展-左主格:C3

B3=A3+int(@_startRow)-1 说明:实现序号值。

C4=pcsum(I3{}) 说明:利用内置分页函数pcsum(I3{})实现每页的合计值计算。

【说明:】

通过上面的报表模板单元格内容的设置,就在使用分页标签的报表实现了连续序号和页内合计值计算效果,A3单元格设置&C3显示每页的序号,如果在autoBIg标签中设置pageCount=”10″ cachePageNum=”5″,即该序号会一直连续排到第50行,但是A3单元格在报表第6页第一行序号值变成了1,又重新循环排列序号了。

为了解决该问题,设置A1列不可视,引入参数@_startRow)利用在B3单元格设置表达式:=A3+int(@_startRow)-1,增加起始参数的标记值,这样,再出现之前的情况时就可以实现所有页数的连续序号排序了。

3、展现报表如下:

此时报表设置的参数,_startRow值为:1_endRow值为:50

报表展现第1页截图:

报表展现第5页截图:

报表展现第6页截图:

热门文章