子报告JasperReport

时间:2011-02-04 21:29:15

标签: jasper-reports ireport

我需要在Jasper-Report中开发一份包含大量子报告的报告。我将举例说明我的需求:

主报告: - 标题 - 子报告(1) - 页脚

Subreport (1)
    - Table_1 (One time)
    - Table_2 (Could be repeated a lot of time)
    - Table_3 (One time)

我需要花很多时间重复Table_2和Subreport(1),我不知道怎么办。我希望已经解释清楚了。 谢谢

2 个答案:

答案 0 :(得分:3)

  1. 在子报告(1)中制作三个细节带
  2. 创建三个新的子报告:Subreport_Table_1,Subreport_Table_2,Subreport_Table_3。
  3. 将Subreport_Table_1放入细节范围1 ;将表1放在Subreport_Table_1中。
  4. 将Subreport_Table_2放入细节范围2 ;将表2放在Subreport_Table_2中。
  5. 将Subreport_Table_3放入细节范围3 ;将表3放在Subreport_Table_3中。
  6. 这导致:

    Master Report
      Subreport (1)
        Detail Band 1 - Subreport Table 1
          Table 1
        Detail Band 2 - Subreport Table 2
          Table 2
        Detail Band 3 - Subreport Table 3
          Table 3
    

    现在,您可以独立于表1和表3控制表2的打印次数。

答案 1 :(得分:1)

Nicopuri这是您的评论的答案

对于多次打印子报表,主报表的sql查询应返回多行。然后将子报表放在主报表的详细信息区域中。

例如,假设您的查询结果如下所示

| id |  name  |
| 1  |  bla   |
| 2  |  bla2  |

将主报告视为循环2次的循环。和细节带作为该循环的内部。所以细节带将被评估2次。