Jasper 子报告未收到任何 F{}
Jasper subreport arent receiving any F{}
在我的主报表中,我有一个子报表标签:
<subreport>
<subreportParameter name="quotaSanitarySeal">
<subreportParameterExpression><![CDATA[$F{quotaSanitarySeal}]]>
</subreportParameterExpression>
</subreportParameter>
<dataSourceExpression><![CDATA[$P{REPORT_DATA_SOURCE}]]></dataSourceExpression>
<subreportExpression class="java.lang.String"><![CDATA[$P{SUBREPORT_DIR} + "subReportTest.jasper"]]>
</subreportExpression>
</subreport>
但是当我生成它时,它没有显示字段的值...
<textFieldExpression class="java.lang.String"><![CDATA[$F{quotaSanitarySeal} == 0.0 ? "" : $F{quotaSanitarySeal}]]></textFieldExpression>
我错过了什么?我必须在我的 subReportTest 中做些什么吗?
当您将字段或变量或参数传递给子报表时。这些值将存储在子报表的参数部分中。
因此,当您传递一个字段时,您必须在子报表中创建一个相应的参数字段,在您的情况下,在您的子报表中创建一个名为 "quotaSanitarySeal"
的参数。添加参数后,您可以将值传递给主报告中的参数,如下所示,
<subreport>
<subreportParameter name="quotaSanitarySeal">
<subreportParameterExpression><![CDATA[$F{quotaSanitarySeal}]]>
</subreportParameterExpression>
</subreportParameter>
<dataSourceExpression><![CDATA[$P{REPORT_DATA_SOURCE}]]</dataSourceExpression>
<subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "subReportTest.jasper"]]></subreportExpression>
</subreport>
成功传递值后,您可以在子报表中使用如下参数,
<textFieldExpression class="java.lang.String"><![CDATA[$P{quotaSanitarySeal} == 0.0 ? "" : $P{quotaSanitarySeal}]]></textFieldExpression>
注意:对于"subreportExpression"
,不需要设置类型class="java.lang.String"
。
希望对您有所帮助。
在我的主报表中,我有一个子报表标签:
<subreport>
<subreportParameter name="quotaSanitarySeal">
<subreportParameterExpression><![CDATA[$F{quotaSanitarySeal}]]>
</subreportParameterExpression>
</subreportParameter>
<dataSourceExpression><![CDATA[$P{REPORT_DATA_SOURCE}]]></dataSourceExpression>
<subreportExpression class="java.lang.String"><![CDATA[$P{SUBREPORT_DIR} + "subReportTest.jasper"]]>
</subreportExpression>
</subreport>
但是当我生成它时,它没有显示字段的值...
<textFieldExpression class="java.lang.String"><![CDATA[$F{quotaSanitarySeal} == 0.0 ? "" : $F{quotaSanitarySeal}]]></textFieldExpression>
我错过了什么?我必须在我的 subReportTest 中做些什么吗?
当您将字段或变量或参数传递给子报表时。这些值将存储在子报表的参数部分中。
因此,当您传递一个字段时,您必须在子报表中创建一个相应的参数字段,在您的情况下,在您的子报表中创建一个名为 "quotaSanitarySeal"
的参数。添加参数后,您可以将值传递给主报告中的参数,如下所示,
<subreport>
<subreportParameter name="quotaSanitarySeal">
<subreportParameterExpression><![CDATA[$F{quotaSanitarySeal}]]>
</subreportParameterExpression>
</subreportParameter>
<dataSourceExpression><![CDATA[$P{REPORT_DATA_SOURCE}]]</dataSourceExpression>
<subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "subReportTest.jasper"]]></subreportExpression>
</subreport>
成功传递值后,您可以在子报表中使用如下参数,
<textFieldExpression class="java.lang.String"><![CDATA[$P{quotaSanitarySeal} == 0.0 ? "" : $P{quotaSanitarySeal}]]></textFieldExpression>
注意:对于"subreportExpression"
,不需要设置类型class="java.lang.String"
。
希望对您有所帮助。