2010-03-25 194 views
1

我有一個jasper報告。在那個主要報告的內部,我添加了一個子報告。我使用java類傳遞集合和參數(不直接使用sql查詢)。它是編譯成功。Jasper Sub報告沒有在主要報告中顯示

但是,它運行時只顯示主報告。它沒有顯示子報告,並且也沒有發生任何錯誤。它只是給那個地方留出一些空的空間。 任何人都可以告訴我如何解決這個問題嗎? 在jasper中添加子報表時,我必須遵守哪些規則?

+1

對不起,你的問題太廣泛了。去閱讀一些文章,還有一本關於JasperReports的書,並且一旦遇到具體問題就會回來。 – 2010-03-25 10:45:55

回答

0

假設您將數據作爲Java Bean收集傳遞給報表,那麼我將假定您有一個字段作爲將用於提供子報表的java.util.List

你原來的bean將是這樣的:

public class ParentBean{ 
    int id; 
    String fatherName; 
    List<ChildBean> childrenList; 

    //setters and getters goes here 
} 

當調用主報告,你應該添加三個字段,最後他們的類型是List。

選擇報表,打開屬性對話框,在連接/數據源表達,選擇使用的數據源表達把下面:

new JRBeanCollectionDataSource($F{childrenList}) 

在你的報表,在ChildBean使用的字段。

注意:對話框名稱來自舊的iReport版本,現在可能已更改。

0

但是你有預覽子報告嗎?可能會有一些錯誤或單獨的子報告填充什麼...

0

1,創建數據集 2。創建列表對象 3.在List對象中帶有參數和連接的Map域。