关于润乾报表的补充说明

上传人:第*** 文档编号:32827079 上传时间:2018-02-12 格式:DOCX 页数:22 大小:647.34KB
返回 下载 相关 举报
关于润乾报表的补充说明_第1页
第1页 / 共22页
关于润乾报表的补充说明_第2页
第2页 / 共22页
关于润乾报表的补充说明_第3页
第3页 / 共22页
关于润乾报表的补充说明_第4页
第4页 / 共22页
关于润乾报表的补充说明_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《关于润乾报表的补充说明》由会员分享,可在线阅读,更多相关《关于润乾报表的补充说明(22页珍藏版)》请在金锄头文库上搜索。

1、分页说明:为方便大家开发,本人在工资系统中作出一个 DEMO,经过测试后能正常使用。先将部分代码与注意事项发给大家看一下第一步:如果该报表需要分页的话,请将下面的替换掉原先的。第二步:增加$j(#countSql).val(分页语句);请注意字符串的 要写单引号: 并且 写成如下形式: $字符串ShowExt.jsp 修改成funcBarLocation=params=needPageMark=yespageCount=20totalCountExp=paperHeight=600/附录:3.8. 分页计算标签本功能采用报表组的原理来实现,因此需要支持报表组的授权3.8.1. 概念定义使用分页

2、计算标签可以在报表比较大的情况下实现以页为单位对数据进行读取和展现及导出等操作。3.8.2. 功能背景报表大到一定程度,必然会内存溢出,此时比较好的解决办法是边算边输出。分页计算标签是利用报表组来实现的逐页计算逐页输出的 tag 标签。可以大大降低内存占有量,提高运行效率,避免内存溢出等问题。3.8.3. 使用方法在这个标签中,主要增加了以下属性: totalCountExp总记录数(必填属性)分页就是基于这个总记录数来的。它的值是一个润乾的非数据集函数,并且返回的值应该是一个整型数据。如用 query 执行一个 count 的 sql。如:totalCountExp=query(SELECT

3、 count(*) FROM table1)pageCount每页记录数(非必填) 分页后每一页包含的记录数,其值需为整数。 默认值为 20。 cachePageNum缓存页数(非必填)根据 pageCount 和 cachePageNum,每次取 pageCount* cachePageNum 条记录,其值需为整数,默认值为 100设置该属性,可保证缓存页数内的翻页效率。(reportconfig.xml 文件里的alwaysReloadDefine 设置为 no,exthtml 标签里 useCache 设置为 yes,该属性才生效) startRowParamName/ endRowPa

4、ramName起始行参数名/结束行参数名(非必填)对应报表数据集记录行中设置的起始行和结束行的参数名。默认值为 startRow 和 endRow。 其他属性说明,与 html 标签基本一致:图 3.2. 应用举例一: 下面以订单明细列表为例,按照常规做出一张订单明细的清单式列表。然后为其添加两个参数:起始行参数名 startRow 和结束行参数名endRow。注意参数类型要求是整型。图 3.4. 并且在数据集设置的参数标签页设置好起始行和结束行的对应参数startRow 和endRow。图 3.5. 下面是最简 jsp 发布文件,只定义了三个必须属性,其余均采用默认值:图 3.6. 运行结果

5、如下:图 3.7. 下面是定义了各种属性之后的 jsp:图 3.8. 运行效果如下:图 3.9. 这种做法的缺点:当数据量足够大的时候,某些 jdbc 包的 resultset 本身会内存溢出;而且从理论上看,当调用 api 接口将 resultset 的指针定位到某一行的时候,其底层其实是一行一行跳转的,虽然速度非常快,但是数据量超过几百万甚至几千万的时候,还是会消耗一些时间。因此当记录数大到一定程度,翻到最后一页的速度会比开头几页慢。这种做法的优点:和数据库类型无关,任何一种数据库都可以采取这种方式,用户不用研究不同数据库的差别。emerito_info.raq 的分页 count 语句-

6、selectcount(*)from RETIRER_SALARY rs,RETIRER_SALARY_DETAIL rsdWHERE rsd.retierer_salary_id = rs.retierer_salary_id and (rs.unit_id = ? or ? is null) and (rs.retierer_salary_id in ($rsid) or ? =2)and rs.giveyearmonth = ? ORDER BY rs.fullname-emerito_salary.raq 的分页 count 语句SELECT count(*)from RETIRERS

7、 r,RETIRER_SALARY rs,RETIRER_SALARY_DETAIL rsdWHERE r.RETIRER_ID = rs.RETIRER_ID and rsd.retierer_salary_id = rs.retierer_salary_id and (r.unit_id = ? or ? is null) and (rs.retierer_salary_id in ($rsid) or ? =2)and rs.giveyearmonth=? ORDER BY rs.fullname-job_base.raq 的分页 count 语句SELECT count(*)from

8、workersalary WHERE (unit_id = ? or ? is null) and (worker_id in ($workerid) or ? =2) ORDER BY departmentname,fullnameunitid = ?unitid = ?workerid = $workerid 为 , , , , falg = ?-job_salary.raq 的分页 count 语句SELECT count(*) from workersalary a,WORKER_SALARY_DETAIL b WHERE a.SALARY_ID = b.SALARY_IDand (a

9、.unit_id = ? or ? is null) and (a.worker_id in ($workerid) or ? =2)and a.giveyearmonth = ?-jobn_bfgz.raq 的分页 count 语句SELECT count(*)from WORKER_SALARY_DETAIL_ADD wsda,WORKERSALARY wWHERE wsda.salary_id = w.salary_idand w.unit_id = ?-jobn_jsgz.raq 的分页 count 语句SELECT count(*)from (selectr.worker_id as

10、 last_worker_id,r.Totalsalary as last_Totalsalary,r.salary_id as last_salary_id from WORKERSALARY rjoin worker_salary_detail wsd on r.salary_id = wsd.salary_idand r.giveyearmonth = 2011-11and r.unit_id = 613and wsd.giveyearmonth = 2011-11) l1left join (select r.worker_id as current_worker_id,r.Total

11、salary as current_Totalsalary,r.salary_id as current_salary_idfrom WORKERSALARY rjoin worker_salary_detail wsd on r.salary_id = wsd.salary_idand r.giveyearmonth = 2011-12and r.unit_id = 613 and wsd.giveyearmonth =2011-12) l2 on l1.last_worker_id = l2.current_worker_idWHERE l1.last_totalsalary l2.cur

12、rent_totalsalaryor l2.current_totalsalary is null-jobn_kjgz.raq 的分页 count 语句SELECTcount(*)from WORKERSALARY w, WORKER_SALARY_DETAIL_CUT wsdcWHERE w.salary_id = wsdc.salary_idand w.unit_id = ? and w.giveyearmonth = ?-jobn_other.raq 的分页 count 语句 SELECT *from (select * from WORKERSALARY w where w.givey

13、earmonth=? and w.unit_id = ?) l1 join(select * from WORKERSALARY w where w.giveyearmonth=? and w.unit_id = ?) l2 on l1.worker_id = l2.worker_idWHERE l1.fullname l2.fullname or l1.idCard l2.idCard or l1.dept_id l2.dept_id-jobn_zjgz.raq 的分页 count 语句select count(*)from (select r.worker_id as last_worker_id,r.Totalsalary as last_Totalsalary,r.salary_id as last_salary_id,from WORKERSALARY rjoin worker_salary_detail wsd on r.salary_id = wsd.salary_idand r.giveyearm

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号