首页 > 解决方案 > JasperReport - 子报表高度动态

问题描述

我想JasperReportJasperSoft Studio 6.5生成一个 pdf 文件。

在我的jrxml文件中,我有两个级别的子报告。

我对这份报告的布局比较困难。此报告包含(1° 子报告)文件的动态列表(带有描述字段,在某些情况下非常冗长)。

2 ° 子报表是文件列表(由文件名和注释组成)

包含 1° 子报表的行具有基于两个标准的高度动态:

  1. 描述字段
  2. 第二个子报表中包含的行数

如果 2° 子报表高于第一个,如果我有页面更改,我就有问题了。因此,如果第一个子报表高于第二个子报表,则第二个子报表不会跟随第一个子报表的高度。

我知道,这不是一个简单的描述问题。希望图片能帮助你理解。

案例1:详细描述:

情况1

案例 2:第二个子报表分为几页

案例2

在我的 jrxml 文件中,我使用了这个:

<subreport>
    <reportElement key="" stretchType="ContainerHeight" isPrintRepeatedValues="false" mode="Opaque" x="310" y="0" width="285" height="35" uuid="1b99fb4b-1bfd-4f88-8ef7-1568c6de04aa">
                    <printWhenExpression><![CDATA[!$FlistSource}.isEmpty()]]></printWhenExpression>
                </reportElement>
                <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{listSource})]]></dataSourceExpression>
                <subreportExpression><![CDATA[$P{SUBREPORT_DIR}+ "sub_filename.jasper"]]></subreportExpression>
</subreport>

我没有为这份报告找到一个优雅的解决方案,有什么想法吗?

标签: jasper-reportssubreport

解决方案


您希望两张表的大小相同,即使其中一张是扩展的?

将两个表的拉伸类型设置为“RelativeToTallestObject”可能会起作用。


推荐阅读