2011-11-23 51 views
1

我正在創建一個包含ireport子報表的報表。這兩個數據源都是java bean。問題是,當我創建子報表數據源的表情,我將使用:Jasper轉貼不能編譯包含JRBeanCollectionDataSource的表達式,爲什麼?

new JRBeanCollectionDataSource($F{actions}) 

這是在許多文檔中。

我編譯時得到:

JRBeanCollectionDataSource cannot be resolved to a type 

我不明白這一點,這是一個JasperReports的類...怎麼會丟失。我甚至控制了 設置,並且該類的Jar位於類路徑中。

可能是什麼原因?

+0

這個字段有什麼類型('actions')?如果您在iReport的幫助下編輯報告(主報告和子報告),會發生什麼情況? –

回答

2

[已解決]在這裏我有一個類似的情況,對於主報告中的子報表來說,那種連接工作正常,但是當我對任何子報表的子報表使用相同的「數據源表達式」時, :

JRBeanCollectionDataSource無法解析爲一個類型value =(net.sf.jasperreports.engine.JRDataSource)(new JRBeanCollectionDataSource(((java.util.List)field_graficoXY.getValue()))); // $ JR_EXPR_ID = 135 $

您還沒有任何解決方案嗎?

主要
  | ----報表(OK)
    |                             | ---報表(錯誤)
  |
  | ----子報表(ok)

+3

我忘了發佈答案,至少對於我的問題,出於某種原因,當你需要一個「子子報告」時,你的數據源表達式必須用類的全名聲明,比如新的net.sf.jasperreports.engine .data.JRBeanCollectionDataSource($ F {} listBean) – Guilherme

3

在jrxml中使用數據源。

<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{actions})]]></dataSourceExpression> 
相關問題