在主报告的详细信息部分中,我创建了两个非常相同的子报表。我已经在主报表上将这两个子报表的高度指定为300 px,因此它们占据相同的空间并在设计中一个接一个地显示为2个框。
子报告的设计如下所示。它的高度保持在300px。细节带根据从数据库返回的行数进行迭代。这可能会返回3到8行。
现在我想一个接一个地显示子报表,如下所示,当我预览它们时,它们之间没有任何空白区域。现在,当第一个只返回3行时,我看到它们之间有空白区域。我们如何移动第二个子报表,使其显示在第一个子报表的最后一行之后。
答案 0 :(得分:0)
在主报表中配置详细信息区域和子报表组件,并在子报表中始终达到最小高度,例如: 5px
,因为它们将始终根据您的子报表输出进行拉伸。
其次,检查详细信息区域底部的子报表模板中是否没有不需要的空格。
答案 1 :(得分:0)
mdahlman为这个问题指出了正确的答案:Displaying tables below each other in JasperReports '你有"职位类型"设置为"修复相对于顶部"。将其更改为" Float"'。
答案 2 :(得分:0)
这可能有很多原因。检查以下步骤是否已实施:
两个子报表都应避免上下边距。 (右键单击子报表的灰色区域,然后单击“删除报表边距”)。
您可能在第一个子报告中有空的摘要带。
两个子报告的位置类型应为“Float”。
检查子路径的高度总和(填充数据)是否超出父报告的高度。