1

Jasper Reports は初めてです。私は2つのグループとのレポートを持っています。クエリによっては、複数のページが印刷されています。

第 1 グループの高さ -- 95 ポイントおよび第 2 グループの高さ -- 144 ポイント

この複数ページを1ページにまとめて印刷したい(5ページを1ページに組み込みたい)。各ページの高さは 239 ポイントです。(ページの内容が239ポイント未満でも、残りの部分は空白のままにして、239ポイント以降に次のページを開始したい)。レポートを作成してみましたが、上記のレポートをサブレポートとして含め、メイン レポートの高さを 1195 (239 * 5) ポイントに設定しました。それでも、これらは別のページに印刷されています。

エクスポートの結果は次のとおりです。 レポートを印刷するとこんな感じ

主なレポートのデザインは次のとおりです。 メイン レポート - これには 2 つのサブレポートが含まれます

最初のサブレポートのデザインは次のとおりです。 最初のサブレポート

2 番目のサブレポートのデザインは次のとおり 2 番目のサブレポート
です。

4

1 に答える 1

0

あなたの仕様に基づいてテストを行いましたが、問題なく動作しているようです。ここでいくつかの指針を示すことができます。

  1. メイン レポートのデザインでは、サブレポート要素の高さは、基になるバンドと同じである限り重要ではありません。サブレポート要素が短い場合、その差が結果に現れます。
  2. サブレポートのページの高さは問題ではなく、バンドの合計の高さだけです。
  3. 作成したグループで [新しいページで開始] オプションが選択されていないことを確認してください。これが最も可能性の高い問題です。

上位 3 つで問題が解決しない場合は、以下のサンプルに目を通し、相違点を比較してください。

メインレポート:

<?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="MainReport1" language="groovy" pageWidth="595" pageHeight="1195" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="0" bottomMargin="0">
    <property name="ireport.zoom" value="1.0"/>
    <property name="ireport.x" value="0"/>
    <property name="ireport.y" value="0"/>
    <parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
        <defaultValueExpression><![CDATA["C:\\Users\\Bizz\\Documents\\JasperReports\\"]]></defaultValueExpression>
    </parameter>
    <queryString>
        <![CDATA[SELECT
     PRODUCT."ID" AS PRODUCT_ID,
     PRODUCT."NAME" AS PRODUCT_NAME,
     PRODUCT."COST" AS PRODUCT_COST
FROM
     "PUBLIC"."PRODUCT" PRODUCT]]>
    </queryString>
    <field name="PRODUCT_ID" class="java.lang.Integer"/>
    <field name="PRODUCT_NAME" class="java.lang.String"/>
    <field name="PRODUCT_COST" class="java.math.BigDecimal"/>
    <group name="Group1">
        <groupExpression><![CDATA[$F{PRODUCT_ID}]]></groupExpression>
        <groupHeader>
            <band height="50">
                <subreport>
                    <reportElement x="0" y="0" width="200" height="50"/>
                    <subreportParameter name="ProductID">
                        <subreportParameterExpression><![CDATA[$F{PRODUCT_ID}]]></subreportParameterExpression>
                    </subreportParameter>
                    <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
                    <subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "MainReport1_subreport2.jasper"]]></subreportExpression>
                </subreport>
            </band>
        </groupHeader>
    </group>
    <group name="Group2">
        <groupExpression><![CDATA["2"]]></groupExpression>
        <groupHeader>
            <band height="50">
                <subreport>
                    <reportElement x="0" y="0" width="200" height="50"/>
                    <subreportParameter name="ProductID">
                        <subreportParameterExpression><![CDATA[$F{PRODUCT_ID}]]></subreportParameterExpression>
                    </subreportParameter>
                    <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
                    <subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "MainReport1_subreport1.jasper"]]></subreportExpression>
                </subreport>
            </band>
        </groupHeader>
    </group>
    <background>
        <band splitType="Stretch"/>
    </background>
    <title>
        <band splitType="Stretch"/>
    </title>
    <pageHeader>
        <band splitType="Stretch"/>
    </pageHeader>
    <columnHeader>
        <band splitType="Stretch"/>
    </columnHeader>
    <detail>
        <band splitType="Stretch"/>
    </detail>
    <columnFooter>
        <band splitType="Stretch"/>
    </columnFooter>
    <pageFooter>
        <band splitType="Stretch"/>
    </pageFooter>
    <summary>
        <band splitType="Stretch"/>
    </summary>
</jasperReport>

サブレポート 1:

<?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="MainReport1_subreport1" language="groovy" pageWidth="555" pageHeight="95" columnWidth="555" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0">
    <property name="ireport.zoom" value="1.0"/>
    <property name="ireport.x" value="0"/>
    <property name="ireport.y" value="0"/>
    <parameter name="ProductID" class="java.lang.Integer"/>
    <queryString>
        <![CDATA[SELECT
     PRODUCT."ID" AS PRODUCT_ID,
     PRODUCT."NAME" AS PRODUCT_NAME,
     PRODUCT."COST" AS PRODUCT_COST
FROM
     "PUBLIC"."PRODUCT" PRODUCT
where
  product_id = $P{ProductID}]]>
    </queryString>
    <field name="PRODUCT_ID" class="java.lang.Integer"/>
    <field name="PRODUCT_NAME" class="java.lang.String"/>
    <field name="PRODUCT_COST" class="java.math.BigDecimal"/>
    <background>
        <band splitType="Stretch"/>
    </background>
    <title>
        <band splitType="Stretch"/>
    </title>
    <pageHeader>
        <band splitType="Stretch"/>
    </pageHeader>
    <columnHeader>
        <band splitType="Stretch"/>
    </columnHeader>
    <detail>
        <band height="95" splitType="Stretch">
            <staticText>
                <reportElement x="0" y="0" width="100" height="20"/>
                <textElement/>
                <text><![CDATA[PRODUCT_ID]]></text>
            </staticText>
            <textField>
                <reportElement x="100" y="0" width="100" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{PRODUCT_ID}]]></textFieldExpression>
            </textField>
            <staticText>
                <reportElement x="0" y="20" width="100" height="20"/>
                <textElement/>
                <text><![CDATA[PRODUCT_NAME]]></text>
            </staticText>
            <textField>
                <reportElement x="100" y="20" width="100" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{PRODUCT_NAME}]]></textFieldExpression>
            </textField>
            <staticText>
                <reportElement x="0" y="40" width="100" height="20"/>
                <textElement/>
                <text><![CDATA[PRODUCT_COST]]></text>
            </staticText>
            <textField>
                <reportElement x="100" y="40" width="100" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{PRODUCT_COST}]]></textFieldExpression>
            </textField>
            <componentElement>
                <reportElement x="0" y="60" width="200" height="35"/>
                <jr:barbecue xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" type="3of9" drawText="false" checksumRequired="false">
                    <jr:codeExpression><![CDATA[$F{PRODUCT_ID}]]></jr:codeExpression>
                </jr:barbecue>
            </componentElement>
        </band>
    </detail>
    <columnFooter>
        <band splitType="Stretch"/>
    </columnFooter>
    <pageFooter>
        <band splitType="Stretch"/>
    </pageFooter>
    <summary>
        <band splitType="Stretch"/>
    </summary>
</jasperReport>

サブレポート 2:

<?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="MainReport1_subreport2" language="groovy" pageWidth="555" pageHeight="888" columnWidth="555" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0">
    <property name="ireport.zoom" value="1.0"/>
    <property name="ireport.x" value="0"/>
    <property name="ireport.y" value="0"/>
    <parameter name="ProductID" class="java.lang.Integer"/>
    <queryString>
        <![CDATA[SELECT
     PRODUCT."ID" AS PRODUCT_ID,
     PRODUCT."NAME" AS PRODUCT_NAME,
     PRODUCT."COST" AS PRODUCT_COST
FROM
     "PUBLIC"."PRODUCT" PRODUCT
where
  product_id = $P{ProductID}]]>
    </queryString>
    <field name="PRODUCT_ID" class="java.lang.Integer"/>
    <field name="PRODUCT_NAME" class="java.lang.String"/>
    <field name="PRODUCT_COST" class="java.math.BigDecimal"/>
    <background>
        <band splitType="Stretch"/>
    </background>
    <title>
        <band splitType="Stretch"/>
    </title>
    <pageHeader>
        <band splitType="Stretch"/>
    </pageHeader>
    <columnHeader>
        <band splitType="Stretch"/>
    </columnHeader>
    <detail>
        <band height="144" splitType="Stretch">
            <staticText>
                <reportElement x="0" y="0" width="100" height="20"/>
                <textElement/>
                <text><![CDATA[PRODUCT_ID]]></text>
            </staticText>
            <textField>
                <reportElement x="100" y="0" width="100" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{PRODUCT_ID}]]></textFieldExpression>
            </textField>
            <staticText>
                <reportElement x="0" y="20" width="100" height="20"/>
                <textElement/>
                <text><![CDATA[PRODUCT_NAME]]></text>
            </staticText>
            <textField>
                <reportElement x="100" y="20" width="100" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{PRODUCT_NAME}]]></textFieldExpression>
            </textField>
            <staticText>
                <reportElement x="0" y="40" width="100" height="20"/>
                <textElement/>
                <text><![CDATA[PRODUCT_COST]]></text>
            </staticText>
            <textField>
                <reportElement x="100" y="40" width="100" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{PRODUCT_COST}]]></textFieldExpression>
            </textField>
            <componentElement>
                <reportElement x="0" y="60" width="302" height="84"/>
                <jr:barbecue xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" type="3of9" drawText="false" checksumRequired="false">
                    <jr:codeExpression><![CDATA[$F{PRODUCT_ID}]]></jr:codeExpression>
                </jr:barbecue>
            </componentElement>
        </band>
    </detail>
    <columnFooter>
        <band splitType="Stretch"/>
    </columnFooter>
    <pageFooter>
        <band splitType="Stretch"/>
    </pageFooter>
    <summary>
        <band splitType="Stretch"/>
    </summary>
</jasperReport>
于 2012-05-17T00:47:13.490 に答える