2

ireport 4.5.0 のテーブル コンポーネントを使用してテーブルを作成しました。コードでマップを介してデータを渡したいので、Dataset Run を介してデータソースを指定しました。その中で、'Connection/Datasource exp'、'Parameters'、'Parameters map exp' を指定していろいろ試しましたが、テーブルを取得できませんでした。空のセルでさえない行を取得しています.サブデータセットとテーブルコンポーネントにもマップパラメーターを作成しました.どのステップを逃したか推測できません..

サブデータセット

    <subDataset name="Table Dataset 2">
    <parameter name="Details" class="java.util.Map"/>
</subDataset>

テーブル コンポーネント

  <componentElement>
            <reportElement key="table 1" style="table 1" x="0" y="0" width="555" height="230"/>
            <jr:table 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="Table Dataset 2">
                    <datasetParameter name="Details">
                        <datasetParameterExpression><![CDATA[$P{Details}.get("Name")]]></datasetParameterExpression>
                    </datasetParameter>
                </datasetRun>
                <jr:column width="25">
                    <jr:detailCell style="table 1_TD" height="44" rowSpan="1">
                        <staticText>
                            <reportElement x="0" y="0" width="25" height="44"/>
                            <textElement textAlignment="Center" verticalAlignment="Middle"/>
                            <text><![CDATA[1]]></text>
                        </staticText>
                    </jr:detailCell>
                </jr:column>
                <jr:column width="255">
                    <jr:detailCell style="table 1_TD" height="44" rowSpan="1">
                        <staticText>
                            <reportElement x="0" y="0" width="255" height="44"/>
                            <box leftPadding="5"/>
                            <textElement verticalAlignment="Middle">
                                <font isStrikeThrough="false"/>
                            </textElement>
                            <text><![CDATA[Name]]></text>
                        </staticText>
                    </jr:detailCell>
                </jr:column>
                <jr:column width="275">
                    <jr:detailCell style="table 1_TD" height="44" rowSpan="1">
                        <textField isStretchWithOverflow="true">
                            <reportElement x="0" y="0" width="275" height="44"/>
                            <box leftPadding="5"/>
                            <textElement verticalAlignment="Middle"/>
                            <textFieldExpression><![CDATA[$P{Details}.get("Name")]]></textFieldExpression>
                        </textField>
                    </jr:detailCell>
                </jr:column>
            </jr:table>
        </componentElement>

データセットRun asも試しました

           <datasetRun subDataset="Table Dataset 2">
                    <parametersMapExpression><![CDATA[$P{Details}.get( "Name" )]]></parametersMapExpression>
                </datasetRun>

    <datasetRun subDataset="Table Dataset 2">
                    <parametersMapExpression><![CDATA[$P{Details}]]></parametersMapExpression>
                </datasetRun>  

        <datasetRun subDataset="Table Dataset 2">
                    <parametersMapExpression><![CDATA[$P{REPORT_PARAMETERS_MAP}]]></parametersMapExpression>
                </datasetRun>

しかし、出力として1行しか得られませんでした。テーブルにマップを渡す方法、どのような間違いを犯したのですか?助けてください。ありがとう..

4

0 に答える 0