皕杰报表软件是一款应用广泛的Java报表工具,使用简单、制表效率高,可以轻松制作出各种各样的报表,是一个不错的Web报表软件。在报表设计过程中,经常要用到各种序号,那么该如何实现这样的报表呢?下面根据需求给出一种方法:
需求1:给报表的每一行都加上序号,并且分页后连续
打开报表设计器,设计如下报表:
将a2单元格的值设置为ds.#0,并将a2单元格的左主格设置成b2,预览效果如下:(假设每页20条记录的分页方式)
我们可以看到,序号已经产生了,并且是第二页的序号是与第一页连续的。
可是在有些情况下希望分页后序号不连续,而要重新计算,这在皕杰报表里怎么实现呢?
需求2:给报表的每一行都加上序号,并且每页都从1开始计算
要实现这样的需求,我们可以用给序号取模的原理来让每页都从1开始排序,具体操作是把A2单元格中的表达式换成:=mod(ds1.#0,20),这里的mod()为求余数函数,然后我们看一下发布后的效果:
我们可以看到,第二页还是从1开始排序的,基本满足了要求!
等等,怎么第20行变成0了?这可不行!!!
由于是对20取模运算,所以第20行的序号就变成0了,我们可以在a2单元格的显示值中进行设置,当值为0的时候,让其显示为20,这样问题就解决,显示值表达式:=if(@value=0,20,@value);再次预览一下效果如下:
到这里,全部需求满足!!
热门跟贴