JasperReportsを使用する必要がありますが、データを取得するのに苦労しています。
これが私のJava側の宣言です:
Map<String, List<TransactionBean>> shCredits = new HashMap<String, List<TransactionBean>>();
宣言されたHashMapに、トランザクションを持つクライアントを格納します。
このHashMapをレポートに渡して、クライアントごとにトランザクション グループを一覧表示しました。
JR側はこちら
<parameter name="shareHolderCreditBeans" class="java.util.HashMap">
<defaultValueExpression><![CDATA[$P{REPORT_PARAMETERS_MAP}.get("shCreditBeans")]]></defaultValueExpression>
</parameter>
<parameter name="credits" class="java.util.List">
<defaultValueExpression><![CDATA[$P{shareHolderCreditBeans}.get("12")]]></defaultValueExpression>
</parameter>
...
<field name="clientId" class="java.lang.String">
<fieldDescription><![CDATA[clientId]]></fieldDescription>
</field>
私の問題は、'credits' パラメータでハードコードされたキー ("12") を使用すると、クライアント トランザクション リストを取得できることです。textFieldでclientIdフィールドを使用することもできますが、次のようなキーとしては使用できません。
$P{shareHolderCreditBeans}.get($F{clientId})
これを行うと、null が返されます。
フィールドをパラメーターキーとして使用するのは正しい方法ですか?
この問題の説明が不十分な場合はお知らせください