Jaspersoft iReport使用Group实现报表自动分页

 时间:2024-10-30 13:37:56

当报表数据较多时,虽然精心调整报表的格式,但因为打印机不同,常常发生开发调试的效果与实际的打印机上效果不一样的情况。不过如果把每一页的内容都放到子报表中,再用父报表去调用含分页符的子报表,就可以完美实现分页效果了。那么怎样实现呢?

Jaspersoft iReport使用Group实现报表自动分页

方法/步骤

1、首先新建一张父韫蛛泌尾报表,报表模板选择BlankA4就可以了,命名为Test。此例中父报表用于显示每张单据的基本傻疑煜阖信息,比如学生的学号、姓名等,而子报表才用来显示该学生的各科考试成绩。在实际应用中,父报表显示如销售发货单据中的单据编号、单据日期、发出仓库等等信息,而子报表才用来显示销售发货的具体物品名称、数量、单价、单位、金额等信息。

Jaspersoft iReport使用Group实现报表自动分页

2、为了界面美观,我们只保留PageHeader、DetailPageFooter三部分就可以了。其实部分将高度设置为0。

Jaspersoft iReport使用Group实现报表自动分页

3、为父报表抓取需要的数据跷孳岔养。因为父报表只需要显示学生的基本信息就可以了,所以不需要将其它表的数据关联进来。酴兑镗笄查询语句填写:selectA.IDSTUID,A.NAMESTUNAMEfromSYSTEM.STUDENTA即可。

Jaspersoft iReport使用Group实现报表自动分页

Jaspersoft iReport使用Group实现报表自动分页

4、我们要将每个学生放到单独的一页显示,就像实际应用中每张销售发货单打印一页一样。在报表名字上点击鼠标右键,为父报表添加Group。

Jaspersoft iReport使用Group实现报表自动分页

5、我们使用学生的学号进行分组。也就是一个学号的信息显示在独立的一页内。勾选AddGroupHeader和AddGroupFooter。

Jaspersoft iReport使用Group实现报表自动分页

6、在GroupHeader中添加每页都要显示的学生信息的格式和信息。

Jaspersoft iReport使用Group实现报表自动分页

7、为Group设置分页符。

Jaspersoft iReport使用Group实现报表自动分页

8、现螅岔出礤在为父报表添加显示具体数据的子报表。向Detail1拖入Subreport组件。根据向导创建一个子报表。当然建议手动创建子报表,更简洁,手动创建子报表的方法请参考经验:Jas禊诬娱飑persoftiReport怎样制作含子报表的报表。

Jaspersoft iReport使用Group实现报表自动分页

9、由于子报表需要根据父报表的学生ID显示子报表的数据,所以为父报表添加Parameter。

Jaspersoft iReport使用Group实现报表自动分页

10、在子报表的SQL语句中引用父报表设置的Parameter,为子报表添加Parame隋茚粟胫ter:STUID,再进入子报表的EditQuery将胨检馁秣STUID这个Parameter拖动添加到SQL语句中:Select*fromsystem.scoreBwhereB.student_id=$P{STUID}。如果参数不显示,可以先把父报表和子报表都编译一下。

Jaspersoft iReport使用Group实现报表自动分页

Jaspersoft iReport使用Group实现报表自动分页

11、子报表仅需要Summary栏用来显示数据,将其它栏的高度设置为0。另外子报表也不需要Group分组,如果生成子报表时生成了Group分组就删除掉。在子报表的Summary栏添加crosstab组件用来展示不确定行列数的数据。

Jaspersoft iReport使用Group实现报表自动分页

12、crosstab组件行数据是以学生ID选取数据。

Jaspersoft iReport使用Group实现报表自动分页

13、crosstab组件列数据是各科目。

Jaspersoft iReport使用Group实现报表自动分页

14、crosstab组件数据部分是显示分数。

Jaspersoft iReport使用Group实现报表自动分页

15、crosstab组件每行显示总分,并显示边框。勾选相应选项。

Jaspersoft iReport使用Group实现报表自动分页

16、crosstab组件中不需要显示的单元格可设置单元格和边框的颜色为透明。

Jaspersoft iReport使用Group实现报表自动分页

Jaspersoft iReport使用Group实现报表自动分页

17、再最后把父子两报表各栏的高度或内容调整一下。

Jaspersoft iReport使用Group实现报表自动分页

18、编译父子两报表后即可以预览分页显示数据的效果。

Jaspersoft iReport使用Group实现报表自动分页

用window.open打开的新窗口如何居中弹出 如何在Windows 10中完全禁用Internet Explorer UOS在哪查看CPU当前频率 echarts中设置effectScatter提示框方法 maven项目编译错误 Missing artifact
热门搜索
泰迪熊图片 中国漫画家 火把节图片 雪乡图片 秘密动漫