2

サブデータセットを持つ JR レポートがあります。

<subDataset name="dataset4">
    <parameter name="collateralizedLimitsAndExposureList" class="java.lang.List" isForPrompting="false"/>
    <field name="exposureList" class="java.util.List"/>
    <field name="limit" class="java.lang.Object"/>
</subDataset>

リスト コンポーネントを使用して、このデータセットを反復処理します4。
メイン リストには、正しく表示される 4 つの要素が含まれるようになりました。しかし、すべてのリスト項目には、多くの要素を持つこのExposureListが含まれています。
それも表示したいのですが、2番目のリストを反復する方法がわかりません。

        <componentElement>
            <reportElement positionType="Float" x="0" y="62" width="495" height="30"/>
            <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" printOrder="Vertical">
                <datasetRun subDataset="dataset4">
                    <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{exposureList})]]></dataSourceExpression>
                </datasetRun>
                <jr:listContents height="30" width="495">
                    <frame>
                        <reportElement positionType="Float" x="0" y="0" width="495" height="30"/>
                        <textField isBlankWhenNull="true">
                            <reportElement style="normal_field_bold" x="5" y="0" width="50" height="10"/>
                            <textElement>
                                <font size="6" isBold="true"/>
                            </textElement>
                            <textFieldExpression><![CDATA[$F{limit}.getLimitSymbol()]]></textFieldExpression>
                        </textField>
                        <textField isStretchWithOverflow="true" isBlankWhenNull="true">
                            <reportElement style="normal_field_bold" x="420" y="2" width="70" height="10"/>
                            <textElement textAlignment="Right">
                                <font size="6" isBold="true"/>
                            </textElement>
                            <textFieldExpression><![CDATA[$F{limit}.getAvailableLimit()]]></textFieldExpression>
                        </textField>
                        <textField isStretchWithOverflow="true" isBlankWhenNull="true">
                            <reportElement style="normal_field" x="5" y="16" width="58" height="10"/>
                            <textElement>
                                <font size="6"/>
                            </textElement>
                            <textFieldExpression><![CDATA[$F{exposureList}.get(0).getExternalReferenceDisplayString()]]></textFieldExpression>
                        </textField>
                        <textField isStretchWithOverflow="true" isBlankWhenNull="true">
                            <reportElement style="normal_field" x="63" y="16" width="70" height="10"/>
                            <textElement>
                                <font size="6"/>
                            </textElement>
                            <textFieldExpression><![CDATA[$F{exposureList}.get(0).getObj()]]></textFieldExpression>
                        </textField>
                        <textField isStretchWithOverflow="true" isBlankWhenNull="true">
                            <reportElement style="normal_field" x="154" y="16" width="50" height="10"/>
                            <textElement>
                                <font size="6"/>
                            </textElement>
                            <textFieldExpression><![CDATA[$F{exposureList}.get(0).getCcy()]]></textFieldExpression>
                        </textField>
                        <textField isStretchWithOverflow="true" isBlankWhenNull="true">
                            <reportElement style="normal_field" x="205" y="16" width="70" height="10"/>
                            <textElement textAlignment="Right">
                                <font size="6"/>
                            </textElement>
                            <textFieldExpression><![CDATA[$F{exposureList}.get(0).getNrv()]]></textFieldExpression>
                        </textField>
                        <textField isStretchWithOverflow="true" isBlankWhenNull="true">
                            <reportElement style="normal_field" x="276" y="16" width="70" height="10"/>
                            <textElement textAlignment="Right">
                                <font size="6"/>
                            </textElement>
                            <textFieldExpression><![CDATA[$F{exposureList}.get(0).getExp()]]></textFieldExpression>
                        </textField>
                        <textField isStretchWithOverflow="true" isBlankWhenNull="true">
                            <reportElement style="normal_field_bold" x="347" y="2" width="70" height="10"/>
                            <textElement textAlignment="Right">
                                <font size="6" isBold="true"/>
                            </textElement>
                            <textFieldExpression><![CDATA[$F{limit}.getIssuedLimit()]]></textFieldExpression>
                        </textField>
                        <textField isStretchWithOverflow="true" isBlankWhenNull="true">
                            <reportElement style="normal_field" x="154" y="2" width="50" height="10"/>
                            <textElement>
                                <font size="6"/>
                            </textElement>
                            <textFieldExpression><![CDATA[$F{limit}.getCcy()]]></textFieldExpression>
                        </textField>
                    </frame>
                </jr:listContents>
            </jr:list>
        </componentElement>

したがって、このようにして、4つの要素とサブリストの最初の要素を持つリストがあります。

  1. リストの get メソッドで使用できるJasperReportsの組み込み変数はありますか?
  2. この方法では、メインリストでのみ反復されることを知っています。ところで、どうすれば 2 番目のリストを作成できますか?
4

0 に答える 0