Java 删除JasperReports生成的空白页:如何隐藏空子报表?

Java 删除JasperReports生成的空白页:如何隐藏空子报表?,java,jasper-reports,Java,Jasper Reports,当报表页不包含任何内容时,我需要删除它 我有一个包含空格的页面,所以我想删除它。我什么都试过了,但问题仍然存在 我尝试了以下代码: private void removeBlankPage(List<JRPrintPage> pages) { for (Iterator<JRPrintPage> i = pages.iterator(); i.hasNext(); ) { JRPrintPage page = i.next();

当报表页不包含任何内容时,我需要删除它

我有一个包含空格的页面,所以我想删除它。我什么都试过了,但问题仍然存在

我尝试了以下代码:

private void removeBlankPage(List<JRPrintPage> pages) {

    for (Iterator<JRPrintPage> i = pages.iterator(); i.hasNext(); ) {
        JRPrintPage page = i.next();
        if (page.getElements().size() == 0)
            i.remove();
    }
}
以下是子报告:

<detail>
    <band height="22" splitType="Stretch">
        <textField pattern="" isBlankWhenNull="true">
            <reportElement uuid="79bfae52-ea0f-4f1f-a310-31464cb82f1e" stretchType="RelativeToBandHeight" mode="Transparent" x="0" y="0" width="555" height="22"/>
            <textElement>
                <font fontName="Arial" size="13"/>
            </textElement>
            <textFieldExpression><![CDATA[$F{LBODY}]]></textFieldExpression>
        </textField>
    </band>
</detail>


你有JRXML(模板)还是通过JasPieldAPI生成报表设计?是的,我有JRXM模板,空白元素属于子报表。我想你的模板(或者两个模板)都有问题。你能简化它们并发布它们吗?@AlexK你可以看到编辑。为什么主报表上的子报表元素如此大(height属性太大)?你能降低它的高度吗?
<detail>
    <band height="22" splitType="Stretch">
        <textField pattern="" isBlankWhenNull="true">
            <reportElement uuid="79bfae52-ea0f-4f1f-a310-31464cb82f1e" stretchType="RelativeToBandHeight" mode="Transparent" x="0" y="0" width="555" height="22"/>
            <textElement>
                <font fontName="Arial" size="13"/>
            </textElement>
            <textFieldExpression><![CDATA[$F{LBODY}]]></textFieldExpression>
        </textField>
    </band>
</detail>