我想将主报表中的表字段传递给子报表作为 JasperReports
中的参数<jasperReport xmlns ---- >
<subDataset name="tableDataset" >
<queryString>
<![CDATA[{select * from person]]>
</queryString>
<field name="ID" class="java.lang.Integer"/>
</subDataset>
<title>
<jr:table >
<jr:column width="133" >
<jr:detailCell >
<textField>
<textFieldExpression><![CDATA[$F{ID}]]></textFieldExpression>
</textField>
</jr:detailCell>
</jr:column>
---
--
</jr:table>
</title>
<summary>
<subreport>
<subreportParameter name="ID">
<subreportParameterExpression><![CDATA[$F{ID}]]> </subreportParameterExpression>
</subreportParameter>
<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
<subreportExpression><![CDATA["phonemumbers.jasper"]]></subreportExpression>
</subreport>
</summary>
</jasperReport>
我将参数传递给子报告,如上所示,但在找不到字段时收到错误
答案 0 :(得分:0)
您将字段作为参数从主报表传递到子报表的方式是正确的。但是您不能直接在子报表中使用此参数。您必须先捕获子报表中的参数,然后再使用它。将以下行添加到子报告(仅在<import>
之后和<queryString>
之前):
<parameter name="ID" class="java.lang.Integer" isForPrompting="false"/>
现在在子报告中使用它:
$P{ID}