我有以下問題iReport/JasperReports服務器。iReport/JasperReports服務器:子報告返回值null
我使用的主報告有兩個子報表,返回一個計算價格,子報表變量的類型和本地變量是BigDecimal。
如果子報表的返回值爲空(未找到行),則主報表中分配的局部變量始終爲空。但我想要「0.00」,因爲我想計算一筆款項。
構造(return_variable == null ? new BigDecimal(0) : return_variable)
不利於將局部變量設置爲默認值new BigDecimal(0)
。我總是得到空,而不是想要的值「0.00」 ;-(
我曾與3.7.6版本進行試驗,直到4.4。的iReport的,沒有什麼幫助。
有沒有人對我有提示?提前謝謝
您是否嘗試在子報表的樂隊中打印出變量值?它仍然說空嗎?當你單獨運行子報表時會發生什麼?你在使用什麼類型的數據庫? – Lisa 2012-08-06 12:30:49
嗨,Lisa,謝謝你的迴應。在子報表(組頁腳)的範圍內,變量是** 0 **(不爲空),在這個band之後,同一個變量是** null **,我運行了一個postgres 9.0數據庫。如果我用這些選項調用子報表,那麼我不會收到任何回報,因爲結果數爲空。這就是爲什麼我想要將null(無值)替換爲0.00€ – 2012-08-06 13:01:18
上面給出的構造是否可能實際上沒有將空值永久設置爲0?我認爲你的子報表中的值也是一個總和(因爲它在你的組頁腳中)。對於你的數據庫,是否有辦法在dtail band的每一行取一個空值並使其爲零?在Oracle中,我將使用COALESCE或DECODE函數,然後總結結果。那麼即使單個值全部爲零,組頁腳值也將爲0。 – Lisa 2012-08-06 13:49:42