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

 时间:2024-10-11 21:36:58

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

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

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

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

3、为父报表抓取需要的数据。因为父报表只需要显示学生的基本信息就可以了,所以不需要将其它表的数据关联进来。酴兑镗笄查询语句填写:select A.ID STUID,A.NAME STUNAME from SYSTEM.STUDENT A 即可。

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

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

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

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

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

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

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

7、为Group设置分页符。

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

8、现在为父报表添加显示具体数据的子报表。向Detail 1拖入Subreport组件。根据向导创建一个子报表。当然建议手动创建子报表,更简洁,手动创建子报表的方法请参考经验:Jaspersoft iReport怎样制作含子报表的报表。

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

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

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

10、在子报表的SQL语句中引用父报表设置的Parameter,为子报表添加Parameter:STUID,再进入子报表的Edit Query将STUID这个Parameter拖动添加到SQL语句中:Select * from system.score B where B.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
  • 热门搜索
    小学生环保手抄报 感恩母亲的手抄报 我的理想手抄报 端午节的手抄报图片 小学数学手抄报 世界地球日手抄报 关于重阳节的手抄报 五水共治手抄报 黑白手抄报 母亲节手抄报内容