2011-11-04 51 views
0

我是新來grails.I需要生成pdf或任何其他格式的報告。我已經使用dynamic-jasper插件獲取PDF格式的輸出。我已經使用示例http://www.grails.org/plugin/dynamic-jasper生成我的報告。如何在grails中使用Dynamic-jasper插件限制報表?

但是在那個例子中,報告顯示了數據庫中的所有值。所以我不想在報告中的所有值。而是我需要限制報告。 I.e當我搜索的值(通過一些SQL查詢),我會在列表中獲得一個o/p的搜索值。所以我需要尋找價值的報告list.So請指導我解決這個問題

+0

[限制DynamicJasper grails插件給定ID的報告?](http://stackoverflow.com/questions/7977961/limit-report-to-a-given-id-with-dynamicjasper-grails-plugin ) –

+0

是的,但我力不從任何機構得到迴應.... –

回答

0

這聽起來像你需要利用DataSource屬性:

數據源:這是一個封閉的是得到會議和參數通過。在這裏,您掛鉤,如果你需要更復雜的查詢檢索數據,即基於請求參數或登錄用戶的會話,或者只是用你的服務或類似過濾器的插件

其他插件整合數據源閉包內是你的邏輯應該去限制報告中顯示的內容(如果你使用的話,你的SQL查詢會到這裏)。如果你倒在你的「命名報告」部分滾動至salesByStateReport link爲您提供了一個例子:

dataSource = { session, params -> 
     Sale.findAll('from Sale as s where s.branch.state = ? order by branch.name', [params.state]) 
    } 

如果使用的是實體的格式,只是改變「數據源=」到「數據源:」在您的靜態可報告地圖。

這從URL這樣調用使用實體格式:

http://localhost:8080/yourAppName/djReport/?entity=yourModelClass&state=yourStateValue

或者這樣的名稱格式:

http://localhost:8080/yourAppName/djReport/?report=your報告名稱&狀態= yourStateValue