-1
我正在使用Jasper-Reports 5.2.0並具有包含2個子報表的主報表。在Jasper Reports中將字段傳遞給子報表
我有一個型號ReportData
其中包含兩個屬性:List<Feld> felder
和List<Wert> werte
。這兩個子模型包含多個屬性,數據將顯示在表中。
所以這就是我將數據源傳遞給子報告的方式。
<subreport>
<reportElement x="0" y="28" width="553" height="51" uuid="502d9559-e6bf-49c8-a34c-ffb8916634cd"/>
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F(werte)]]></dataSourceExpression>
<subreportExpression><![CDATA["werte_subreport.jasper"]]></subreportExpression>
</subreport>
<subreport>
<reportElement x="0" y="90" width="555" height="50" uuid="5e5b0287-5002-4e31-aa8f-afe36ea78827"/>
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F(felder))]]></dataSourceExpression>
<subreportExpression><![CDATA["felder_subreport.jasper"]]></subreportExpression>
</subreport>
,這就是我如何度過我的報告(數據源是ReportData
集合):
printable = JasperFillManager.fillReport(PropertyLoader.getSingleton().loadAsInputStream(REPORT_FOLDER + File.separatorChar + KONFIG_JASPER),parameters, datasource);
不知怎的,我的價值觀是不傳遞到子報表和Jasper報表嘗試使用屬性作爲defaultWert
,它不是Wert
類的一部分,應顯示在子報告中。
net.sf.jasperreports.engine.JRException: Error retrieving field value from bean : defaultWert
Caused by: java.lang.NoSuchMethodException: Unknown property 'defaultWert' on class XXXXXXXXXXXXXXXXXXXXXX.model.ReportData'
我所定義的兩個列表werte
和felder
作爲主報告java.util.List
類型的字段和定義的屬性爲defaultWert
作爲子報告類型爲String的字段。我究竟做錯了什麼?
我不明白爲什麼這個問題被標記爲iText標記。 JasperReports使用iText和AFAIK的過時版本,目前iText和JasperSoft/TIBCO之間沒有任何業務關係。我正在移除標籤。 – 2014-10-28 16:07:54
我不知道這種不存在的關係。我使用了這個標籤,因爲它被用在我問這個之前的很多問題中。 – shuricano 2014-10-28 16:13:01
@shuricano您可以添加如何爲您的問題創建數據源。你還有在主報告或子報告中定義的稱爲'defaultWert'的字段嗎?我對這些問題的一般故障排除步驟是刪除子報告,並確保主報告正常工作。一次只能添加一個子報告,因此我可以找到導致該問題的特定報告。 – 2014-10-29 02:20:53