【问题标题】:How to display one group per page using Jasper Reports?如何使用 Jasper Reports 每页显示一个组?
【发布时间】:2015-04-22 06:23:51
【问题描述】:

我正在使用 iReport 创建 Jasper Report 模板,我需要每页显示一个组:

  • 第 1 组:(第一页) -Field1 Field2 Field3

  • 第 2 组:(第二页) -Field1 Field2 Field3

等等。

我尝试使用 iReport 将“组页脚”带中的“最大化带高”属性设置为 true,但是当我尝试查看时添加了一些空白页面。

【问题讨论】:

    标签: jasper-reports


    【解决方案1】:

    您可以使用组的isStartNewPage属性。

    您可以添加 Group Header 带和

    1) 将“在新页面上开始”属性设置为 true

    2) 将带高设置为 0(如果您不需要它)。

    工作样本

    jrxml 文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="group_break" language="groovy" pageWidth="400" pageHeight="400" columnWidth="360" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="2bcb6f3d-2169-44f6-9e8a-db54ea21b5e0">
        <queryString>
            <![CDATA[SELECT DOCUMENTID, PRODUCTID, PRICE FROM POSITIONS ORDER BY DOCUMENTID]]>
        </queryString>
        <field name="DOCUMENTID" class="java.lang.Integer"/>
        <field name="PRODUCTID" class="java.lang.Integer"/>
        <field name="PRICE" class="java.math.BigDecimal"/>
        <group name="docId" isStartNewPage="true">
            <groupExpression><![CDATA[$F{DOCUMENTID}]]></groupExpression>
            <groupHeader>
                <band/>
            </groupHeader>
        </group>
        <columnHeader>
            <band height="20" splitType="Stretch">
                <staticText>
                    <reportElement x="0" y="0" width="111" height="20" uuid="596f5fb4-7e6d-4e7e-88bf-b9c37d0fb1a1"/>
                    <box>
                        <topPen lineWidth="1.0"/>
                        <leftPen lineWidth="1.0"/>
                        <bottomPen lineWidth="1.0"/>
                        <rightPen lineWidth="1.0"/>
                    </box>
                    <textElement textAlignment="Center"/>
                    <text><![CDATA[Position]]></text>
                </staticText>
                <staticText>
                    <reportElement x="111" y="0" width="111" height="20" uuid="4884f663-00cf-4b5f-9cc1-05d698b8154a"/>
                    <box>
                        <topPen lineWidth="1.0"/>
                        <leftPen lineWidth="1.0"/>
                        <bottomPen lineWidth="1.0"/>
                        <rightPen lineWidth="1.0"/>
                    </box>
                    <textElement textAlignment="Center"/>
                    <text><![CDATA[Id]]></text>
                </staticText>
                <staticText>
                    <reportElement x="222" y="0" width="111" height="20" uuid="26c8d18f-2281-405c-a41b-bddcbcdebdbb"/>
                    <box>
                        <topPen lineWidth="1.0"/>
                        <leftPen lineWidth="1.0"/>
                        <bottomPen lineWidth="1.0"/>
                        <rightPen lineWidth="1.0"/>
                    </box>
                    <textElement textAlignment="Center"/>
                    <text><![CDATA[Price]]></text>
                </staticText>
            </band>
        </columnHeader>
        <detail>
            <band height="20" splitType="Stretch">
                <textField>
                    <reportElement x="0" y="0" width="111" height="20" uuid="fb6369eb-4b92-41dd-b5b8-94a9210bf315"/>
                    <box leftPadding="10">
                        <topPen lineWidth="1.0"/>
                        <leftPen lineWidth="1.0"/>
                        <bottomPen lineWidth="1.0"/>
                        <rightPen lineWidth="1.0"/>
                    </box>
                    <textFieldExpression><![CDATA[$F{DOCUMENTID}]]></textFieldExpression>
                </textField>
                <textField>
                    <reportElement x="111" y="0" width="111" height="20" uuid="9fcbb785-06fa-4f7a-bc6d-301cc8db4388"/>
                    <box leftPadding="10">
                        <topPen lineWidth="1.0"/>
                        <leftPen lineWidth="1.0"/>
                        <bottomPen lineWidth="1.0"/>
                        <rightPen lineWidth="1.0"/>
                    </box>
                    <textFieldExpression><![CDATA[$F{PRODUCTID}]]></textFieldExpression>
                </textField>
                <textField>
                    <reportElement x="222" y="0" width="111" height="20" uuid="0d18c9fe-5a70-4890-b94d-f26d88bc97da"/>
                    <box leftPadding="10">
                        <topPen lineWidth="1.0"/>
                        <leftPen lineWidth="1.0"/>
                        <bottomPen lineWidth="1.0"/>
                        <rightPen lineWidth="1.0"/>
                    </box>
                    <textFieldExpression><![CDATA[$F{PRICE}]]></textFieldExpression>
                </textField>
            </band>
        </detail>
        <pageFooter>
            <band height="50">
                <textField>
                    <reportElement x="0" y="20" width="80" height="20" uuid="47486fe9-e21f-4913-a9c4-cef0d3e2df39"/>
                    <textElement textAlignment="Right"/>
                    <textFieldExpression><![CDATA["Page "+$V{PAGE_NUMBER}+" of"]]></textFieldExpression>
                </textField>
                <textField evaluationTime="Report">
                    <reportElement x="80" y="20" width="40" height="20" uuid="0f7df66b-bbe6-4373-962e-519584c44541"/>
                    <textFieldExpression><![CDATA[" " + $V{PAGE_NUMBER}]]></textFieldExpression>
                </textField>
            </band>
        </pageFooter>
    </jasperReport>
    

    结果

    iReport中通过预览模式生成的输出结果

    【讨论】:

    • 成功了!我没有尝试使用此选项,感谢您的帮助!最好的问候!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-08
    • 2016-04-02
    • 1970-01-01
    相关资源
    最近更新 更多