我想從主報告傳輸數據集到iReport中的子報表。 在Odoo版本7中,我使用的就是這樣。如何通過iReport將主報表的數據集傳遞給子報表?
<parameter name="param_obj" class="java.lang.Object" isForPrompting="false"/>
<subreport>
<reportElement x="0" y="0" width="555" height="13"/><subreportParameter name="tl_cAsset">
<subreportParameterExpression><![CDATA[$P{tl_cAsset}]]> </subreportParameterExpression>
</subreportParameter>
<dataSourceExpression><![CDATA[$P{param_obj}]]></dataSourceExpression>
<subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "acc_balance_current_assets2.jasper"]]></subreportExpression>
</subreport>
現在我使用Odoo版本8和版本8的新jasper_reports模塊於是我轉移了一些jar文件從jasper_reports模塊iReport的IDE。後來...... odoo版本7的所有報告都會導致Groovy錯誤。這就是爲什麼我在iReport中將Groovy語言改爲Java語言的原因。但是...所有的子報表都不起作用,因爲param_obj參數沒有將數據集帶到子報表中。
如果我改變dataSourceExpression從param_obj至$ P {REPORT_DATA_SOURCE} 是內置的參數是這樣的:
<dataSourceExpression><![CDATA[$P{REPORT_DATA_SOURCE}]]></dataSourceExpression>
,我得到了這樣的錯誤:
Failed to invoke method execute in class com.nantic.jasperreports.JasperServer: Field "Name-name" not found in data source.
報表沒」 t從參數數據源獲取字段。
應該是怎麼回事?我不知道如何將主數據集傳遞給子報表。 如果您不介意,請一步一步解釋。
PS。我使用XPath查詢語言並使用該數據集的xml模板文件。
的可能重複[如何將主報表數據源傳遞給子報表(JasperReports)?](http://stackoverflow.com/questions/8490563/how-to-pass-main-report-data-source-to-subreport-jasperreports) – GenericJon 2015-02-11 15:02:52