posts - 17, comments - 17, trackbacks - 0, articles - 0

皕杰报表软件是一个常用的Java报表工具,使用简单、制表效率高,可以轻松制作出各种各样的报表,是一个不错的Web报表软件,但是皕杰报表中没有像其它报表工具一样提供一个序号生成函数,那么该如何做有需要的报表呢?下面分享一下我的方法:

需求1:给报表的每一行都加上序号,并且分页后连续

打开报表设计器,设计如下报表:

image

将a2单元格的值设置为ds1.#0,并将a2单元格的左主格设置成b2,预览效果如下:(假设每页20条记录的分页方式)

image image

我们可以看到,序号已经产生了,并且是第二页的序号是与第一页连续的。

可是在有些情况下希望分页后序号不连续,而要重新计算,这怎么实现呢?下面来看看我今天分析的第二个小技巧:

需求2:给报表的每一行都加上序号,并且每页都从1开始计算

要实现这样的需求,我们可以用给序号取模的原理来让 每页都从1开始排序,具体操作是把A2单元格中的表达式换成:=ds1.#0%2,然后我们看一下发布后的效果:

image image

我们可以看到,第二页还是从1开始排序的,基本满足了要求!

等等,怎么第20行变成0了?这可不行!!!

由于是对20取模运算,所以第20行的序号就变成0了,我们可以在a2单元格的显示值中进行设置,当值为0的时候,让其显示为20,这样问题就解决,显示值表达式:=if(@value=0,20,@value);再次预览一下效果如下:

image image

到这里,全部需求满足!!下次我要分享另外一种序号报表制作方式