2011-09-29 206 views
1

我正在使用jasper報告,通過JRMapCollectionDataSource提供數據。具體而言,每行是水木清華這樣的:Jasper報告數據過濾

{"id"->"21552", "name"->"", "date"->"22.03.2013"} 

現在我需要包括報告只有那些記錄,其中id大於10,例如。我該怎麼辦?

我發現了filterexpression標籤,但它只適用於子數據集。那麼,我如何將它應用到主數據集?

當我試圖把filterexpressionjasperReport標籤內,iReports失敗,錯誤: 非常感謝您的回覆,我已經試過這樣做。我報告給我

exception:org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'property'. One of '{" http://jasperreports.sourceforge.net/jasperreports ":group, " http://jasperreports.sourceforge.net/jasperreports ":background, " http://jasperreports.sourceforge.net/jasperreports ":title, " http://jasperreports.sourceforge.net/jasperreports ":pageHeader, " http://jasperreports.sourceforge.net/jasperreports ":columnHeader, " http://jasperreports.sourceforge.net/jasperreports ":detail, " http://jasperreports.sourceforge.net/jasperreports ":columnFooter, " http://jasperreports.sourceforge.net/jasperreports ":pageFooter, " http://jasperreports.sourceforge.net/jasperreports ":lastPageFooter, " http://jasperreports.sourceforge.net/jasperreports ":summary, " http://jasperreports.sourceforge.net/jasperreports ":noData}' is expected.

回答

2

過濾表達式不限於子數據集。只需將filterExpression標記放在jasperReport標記內,並將其應用於主數據集。

安置很重要,看來。過濾器表達式必須位於任何內容之前,但在聲明域之後。

+0

非常感謝您的回覆。我試過這樣做,但是iReports在這種情況下給出了一個例外,我用異常消息更新了我的答案。 – tmp120210

+0

有趣。您以前可以在主報告中使用過濾器表達式,但似乎此功能已在最新版本的jasperreports中刪除。 – GenericJon

+0

忽略我以前的評論。如果我錯誤地放置標記,我會得到同樣的異常。它必須出現在任何內容(pageHeader,細節等)之前,但在任何字段之後。我不確定是否有其他標籤影響它。嘗試使用展示位置來尋找可行的東西。 – GenericJon