多语言展示
当前在线:362今日阅读:19今日分享:20

Jaspersoft iReport怎样制作含子报表的报表

iReport能够创建复杂报表,我们经常需要将子报表的内容展示到父报表中,在这里我们来创建一个简单的包含子报表的报表,以此来了解制作含子报表的报表的方法。
方法/步骤
1

首先使iReport连接到示例数据库。连接方法请参考经验“Jaspersoft iReport怎样连接oracle数据库”。我们在数据库中设置两个表,一个是颜色组表,一个是子颜色表。颜色组表中有多种颜色,同时每一颜色组会有多种子颜色保存在子颜色表中。我们将创建一个父报表展示所有颜色组,同时在父报表中插入子报表来展示子颜色。

2

新建一张父报表,命名为Test。

3

编辑父报表中提取数据的SQL:select * from SYSTEM.STKATTR1

4

将需要在父报表中展示的数据项拖动到Detail栏。

5

通过预览我们可以看到父报表现在能够正常显示颜色组数据。

6

新建一张子报表,命名为Test_sub。将子报表的Detail栏外所有栏的高度都设为0,子报表在父报表中只需要用到Detail栏展现子颜色数据。

7

编辑子报表中提取数据的SQL:select * from SYSTEM.STKATTR1_DTL

8

把需要在子报表中展示的数据项拖动到Detail栏。

9

接下来我们将父报表的数据与子报表的数据进行关联。父报表每展现某一颜色组,子报表将该颜色组的子颜色展现在其下面。在子报表中增加Parameters:STKATTR1_ID,该属性由父报表传递给子报表。

10

修改子报表提取数据的SQL增加提取数据的条件,将上面刚刚增加的Parameters拖动到SQL中:select * from SYSTEM.STKATTR1_DTL where STKATTR1_ID = $P{STKATTR1_ID}

11

在父报表中添加子报表,从组件面板中拖动子报表组件到父报表中。不使用子报表向导创建新的子报表,选择“只添加子报表组件”即可。

12

选择父报表中的子报表组件,设置其Parameters属性,父报表向子报表传递STKATTR1_ID数据项。

13

选择父报表中的子报表组件,设置其Subreport Expression属性,设置子报表名为'Test_sub.jasper'。

14

选择父报表中的子报表组件,设置其Connection type属性为User a connection expression,并设置Connection Expression 为REPORT_CONNECTION。

15

至此含子报表的报表已完成,可以通过预览父报表看到数据展现的效果。

推荐信息