润乾 V4 查询时 20 条一页导出时 5w 一页来进行分页

 

今天遇到一个需求,需要在查询的时候 20 条一页 导出的时候 5w 一页来进行分页   设计器版本为 V4.5
解决办法为在 showReport.jsp 里面增加大报表的标签 autoBig。

Autobig 实现原理:   
把报表根据每页展现行数,以及从数据库里获取的最大行数,分成 n 页,然后把所有页的报表定义组成一个报表组,利用报表组实现了逐页计算逐页输出功能。   
使用 autobig 标签需要配置 reportConfig.xml 文件中 alwaysReloadDefine 为 no,启用缓存。
此项设置的目的是使得设置的缓存页数 cachePageNum 生效。实现展现、翻页、打印、导出都是逐页计算逐页输出的

具体代码为:

<table align="center" width="100%" height="100%">          
        <tr><td align=center valign=top height=100%>  
                <report:autoBig  
                        name="report1"  
                        reportFileName="<%=report%>"  
                        dbType="oracle"      
                        dsName="ds1"          
                        totalCountExp=""      
                        pageCount="20"       
                        cachePageNum="500"  
  
                        exportExcelOneSheet="false"  
                        countPerExportPage="50000"  
                        needScroll="yes"  
                        scrollHeight="80%"  
                        scrollWidth="80%"  
                        exceptionPage="/reportJsp/myError2.jsp"  
                        appletJarName="runqianReport4Applet.jar,dmGraphApplet.jar"  
                />  
         </td></tr>  
  </table>  

其中:
pageCount——每页记录数(非必填) 分页后每一页包含的记录数,其值需为整数。 默认值为 20。
cachePageNum——缓存页数(非必填) 根据 pageCount 和 cachePageNum,每次取 pageCount* cachePageNum 条记录,其值需为整数,默认值为 100
exportExcelOneSheet=“false”   是用于设置导出 excel 分页  true 为不分页
countPerExportPage=“50000”  这个标签的值是导出的数量为 50000 条。