Jasper reports JasperServer动态波段高度,因为子报表具有不同的高度

Jasper reports JasperServer动态波段高度,因为子报表具有不同的高度,jasper-reports,subreport,Jasper Reports,Subreport,我有一个jrmxl报告,它使用不同高度的不同子报告,一个是421,另一个是600 报表是否可以在生成的PDF的每个页面上动态设置标注栏高度 <detail> <band height="421"> <subreport> <reportElement x="0" y="0" width="297" height="421" uuid="a23ff576-6d38-4582-a7ea-18e18926136c

我有一个jrmxl报告,它使用不同高度的不同子报告,一个是421,另一个是600

报表是否可以在生成的PDF的每个页面上动态设置标注栏高度

<detail>
    <band height="421">
        <subreport>
            <reportElement x="0" y="0" width="297" height="421" uuid="a23ff576-6d38-4582-a7ea-18e18926136c"/>
            <subreportParameter name="NUMBER">
                <subreportParameterExpression><![CDATA[$F{number}]]></subreportParameterExpression>
            </subreportParameter>
            <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
            <subreportExpression><![CDATA[$F{report}.trim()]]></subreportExpression>
        </subreport>
    </band>
</detail>

如果您的子报表需要在同一个生成的PDF文档中生成不同大小的页面,那么您需要将子报表模板用作基于部分的JRXML(也称为book report)中的一部分,而不是通常的基于波段的JRXML。 您可以在我们的项目发行版的文件夹下找到图书报告示例。
确保您使用JR Lib 6.0.0版或更新版本。

您的问题不清楚,无法准确理解您的问题,您不能直接设置动态标注栏高度,但可以拉伸对象,因此将子报表包含在主报表中,高度为10,这会将标注栏拉伸到子报表高度。对于不清楚,我深表歉意。我有许多用于生成PDF的子报告。子报告的大小可以不同。我想做的是生成PDF,这样生成的每个页面的高度都与子报表中的大小一致。从您的回答来看,您似乎建议我将波段高度设置为421(最小高度),然后当报表使用高度为600的子报表时,波段将拉伸以匹配子报表高度?您可以在主报表中设置波段高度10,如果子报表的总高度为100,则条带将拉伸以适合子报表。一般来说,你会尽量将标注栏的高度保持在最小,然后使用jasper report的拉伸功能,在需要时增加标注栏的大小。老实说,我还是不太明白,生成一个pdf,每个页面都有不同的高度??或者,您是否试图将子报表结果分成不同的页面?您的问题是,您需要设置具有不同页面高度的不同jrxml文件,然后在导出时将其合并,最好的方法可能是使用JasperPrint。