一个接一个地打印子报告

时间:2014-09-25 11:38:12

标签: jasper-reports subreport

在主报告的详细信息部分中,我创建了两个非常相同的子报表。我已经在主报表上将这两个子报表的高度指定为300 px,因此它们占据相同的空间并在设计中一个接一个地显示为2个框。

子报告的设计如下所示。它的高度保持在300px。细节带根据从数据库返回的行数进行迭代。这可能会返回3到8行。

Subreport1

现在我想一个接一个地显示子报表,如下所示,当我预览它们时,它们之间没有任何空白区域。现在,当第一个只返回3行时,我看到它们之间有空白区域。我们如何移动第二个子报表,使其显示在第一个子报表的最后一行之后。

enter image description here

3 个答案:

答案 0 :(得分:0)

在主报表中配置详细信息区域和子报表组件,并在子报表中始终达到最小高度,例如: 5px,因为它们将始终根据您的子报表输出进行拉伸。

其次,检查详细信息区域底部的子报表模板中是否没有不需要的空格。

答案 1 :(得分:0)

mdahlman为这个问题指出了正确的答案:Displaying tables below each other in JasperReports '你有"职位类型"设置为"修复相对于顶部"。将其更改为" Float"'。

答案 2 :(得分:0)

这可能有很多原因。检查以下步骤是否已实施:

  1. 两个子报表都应避免上下边距。 (右键单击子报表的灰色区域,然后单击“删除报表边距”)。

  2. 您可能在第一个子报告中有空的摘要带。

  3. 两个子报告的位置类型应为“Float”。

  4. 检查子路径的高度总和(填充数据)是否超出父报告的高度。