我有一個jasper報告。在那個主要報告的內部,我添加了一個子報告。我使用java類傳遞集合和參數(不直接使用sql查詢)。它是編譯成功。Jasper Sub報告沒有在主要報告中顯示
但是,它運行時只顯示主報告。它沒有顯示子報告,並且也沒有發生任何錯誤。它只是給那個地方留出一些空的空間。 任何人都可以告訴我如何解決這個問題嗎? 在jasper中添加子報表時,我必須遵守哪些規則?
我有一個jasper報告。在那個主要報告的內部,我添加了一個子報告。我使用java類傳遞集合和參數(不直接使用sql查詢)。它是編譯成功。Jasper Sub報告沒有在主要報告中顯示
但是,它運行時只顯示主報告。它沒有顯示子報告,並且也沒有發生任何錯誤。它只是給那個地方留出一些空的空間。 任何人都可以告訴我如何解決這個問題嗎? 在jasper中添加子報表時,我必須遵守哪些規則?
假設您將數據作爲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版本,現在可能已更改。
但是你有預覽子報告嗎?可能會有一些錯誤或單獨的子報告填充什麼...
也許這將幫助 - >發送java.util.List
參數:
1,創建數據集 2。創建列表對象 3.在List對象中帶有參數和連接的Map域。
對不起,你的問題太廣泛了。去閱讀一些文章,還有一本關於JasperReports的書,並且一旦遇到具體問題就會回來。 – 2010-03-25 10:45:55