2011-11-04 48 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