对于用分页标签展现的报表中序号重置的解决办法

我们来下面一个现象,展现报表的jsp写法:

<report:extHtml 
name="report1" 
reportFileName="fenye.raq"
funcBarLocation="top"
needPageMark="yes"
generateParamForm="no"
needScroll="no"
exceptionPage="/reportJsp/myError2.jsp"
totalCountExp="query('select count(*) from book')"
pageCount="5"
startRowParamName="start"
endRowParamName="end"
cachePageNum="2"
/>

报表模版的设计:


 

报表模版里中到了序号&B2,就是对展现出来的记录进行计数.

我们来看一下页面:

第一页:



 第二页:



 第三页:


 

我们可以看到序号重置了.又回到了从1开始.这是为什么呢?

是因为我们在标签中设置了cachePageNum="2"属性,它的意思就是缓存页数,是为了提高分页效率的,当设置了2时,就是提前缓存了2页数据,当到第3页时,报表重新取数据进行计算,这时,序号也重新计算了,所以就被重置了.

那如何来解决这个问题呢?

我们可以利用分页标签里的startRowParamName="start"和endRowParamName="end"这俩个参数来计算当前的序号:

在报表中增加一列:


 然后隐藏掉A列.

在报表分页标签中,将cachePageNum设置为1,即每次缓存1页

这样我们在页面上就可以看到正确的效果了:

第一页:


 

第二页:


 第三页:


 第四页:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值