2011-07-14 32 views
0

情況 我有一個報告,其中包含一個報頭和四個子報告在詳細區域。子報表通過查詢數據庫來獲取他們的數據。賈斯珀報告:當子報告沒有數據時不要渲染主報告

要求 如果所有的子報表沒有數據,那麼我想在主報表不產生 - 類似於財產「沒有數據」設置爲「無網頁」。

問題 每個子報表有屬性「刪除行如果空白」檢查,所以如果有數據每個子報表將只打印。但是在主報告中,查詢文本是「從雙選中選擇1」,以便始終打印。我想將其更改爲依賴於子報表,因此如果所有子報表都沒有數據,它將不會返回任何內容,因此,由於「無數據時」設置爲「無頁面」,整個報表將不會打印。

回答

0

應該有一種方法來設置打印表達式時主要報告檢查您的子報表數據,然後只顯示主報告,如果至少有一個。像這樣:

if (subreport1HasData || subreport2HasData || subreport3HasData || subreport4HasData) 
+0

我相信海報想知道_how_檢查子報告是否有數據。 – eli

+0

如果每個子報表的數據都在一個集合中,那麼每個條件都可以檢查相應的集合是否爲空,即if(!subreport1.isEmpty()||!subreport2.isEmpty()||!subreport3.isEmpty )||!subreport4.isEmpty())。 –