JasperReports jrxml の詳細セクションに次のレポートがあります。これは、2 つのオブジェクトを含むJava
から取得したリストです。どちらも最初のページに出力されるため、テスト変数が呼び出されるたびに呼び出されます。
<detail>
<band height="200" splitType="Stretch">
<componentElement>
<reportElement key="table" style="table" x="0" y="49" width="500" height="140"/>
<jr:list xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">
<datasetRun subDataset="Data Set">
<datasetParameter name="REPORT_DATA_SOURCE">
<datasetParameterExpression><![CDATA[$P{REPORT_DATA_SOURCE}]]></datasetParameterExpression>
</datasetParameter>
</datasetRun>
<jr:listContents height="50" >
<textField isBlankWhenNull="true">
<reportElement x="0" y="0" width="200" height="20" isRemoveLineWhenBlank="true"/>
<textElement textAlignment="Left" verticalAlignment="Middle" >
<font size="10" fontName="DejaVu Serif" isBold='true'/>
</textElement>
<textFieldExpression><![CDATA[$F{test}]]></textFieldExpression>
</textField>
</jr:listContents>
</jr:list>
</componentElement>
</band>
</detail>
だから私は2つのオブジェクト、豆のリストを持っています。すべてが機能しますが、このテスト変数は、ページごとに 1 つのオブジェクトではなく、各ページに 2 回表示されます (両方のオブジェクトが最初のページで呼び出されます)。最初のテストが印刷された後に休憩を入れたいので、リストの次のテストは次のページに印刷されます。
誰かが私を正しい方向に向けることができますか?