2013-08-28 52 views
0

的目標是以下結構JasperReports的嵌套循環

Static Text 
-------------------- 
Category 1 
    SubCategory 1_1 
    SubCategory 1_2 
    ... 
Category 2 
    SubCategory 2_1 
    .... 
... 
-------------------- 
StaticText 

得到我使用下面的豆結構

public class BeanFactory { 

    public static Collection getVehicleData() {return the Collection} 
} 

Category類

public class VehicleData { 
    private String category; 
    private List<WarningData> warnings; 
} 

的WarningData類是動態數據一個POJO。所以任何人都可以給我一個提示,我怎麼能得到這種結構?

  1. 我試圖使用兩個數據集,一個是使用beanfactory創建數據,一個應該使用vehicledata類來獲取warningdata。但這不適合我。
  2. 我試圖對它進行分組。但我不知道如何訪問警告數據
  3. 我應該使用iReport設計器中的表或列表組件嗎?
  4. 我可以在表達式編輯器中使用循環嗎?

更新 爲了說明清楚。我如何迭代子類?我通過類別迭代成功,但我不知道如何迭代子類別上的每個類別。

+0

你是在iReport中鋪設?你爲什麼不使用iReport的分組級別? – Lisa

+0

@bkb'我試圖使用兩個數據集','我試圖將它分組 - '你應該發佈th * jrxml *文件 –

+1

'我可以在表達式編輯器中使用循環嗎?' - 你是什麼意思?你讀過* JasperReports *的基礎嗎? [JasperReports終極指南](http://jasperreports.sourceforge.net/JasperReports-Ultimate-Guide-3.pdf) - 好的。這是[樣本](http://jasperreports.sourceforge.net/sample.reference.html) –

回答

0

該解決方案來自Lisa評論的一種暗示。相反,在這個問題的數據結構,我創建了一個「平」的結構如下所示:

public class VehicleData2 { 
    private String category; 
    private String categoryIconPath; 
    private String iconPath; 
    private String headline; 
    private String warning; 
} 

後三個屬性是在一個新的類WarningData微膠囊。但我無法迭代拋出這個警告數據列表,所以在我的解決方案中有e。 G。類別中的冗餘。但是通過這種結構,可以使用報告組來分類,並將警告數據放入jasperreport的詳細部分。