我必须使用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。
使用字段作为参数键是正确的方法吗?
如果我对描述这个问题不够清楚,请告诉我