如何在grails中使用动态jasper插件限制报告?

如何在grails中使用动态jasper插件限制报告?,grails,groovy,grails-controller,dynamic-jasper,Grails,Groovy,Grails Controller,Dynamic Jasper,我是grails新手。我需要生成pdf或任何其他格式的报告。我使用动态jasper插件获取pdf格式的输出。我使用示例生成了我的报告 但在那个例子中,报告显示了数据库中的所有值。所以我不希望报告中的所有值。相反,我需要限制报告。也就是说,当我搜索这些值时(通过一些sql查询),我会在列表中得到一个o/p的搜索值。因此,我需要搜索值列表的报告。因此,请指导我解决此问题。听起来您需要使用dataSource属性: dataSource:这是一个获取会话和传递的参数的闭包。如果您需要更复杂的查询来检索

我是grails新手。我需要生成pdf或任何其他格式的报告。我使用动态jasper插件获取pdf格式的输出。我使用示例生成了我的报告


但在那个例子中,报告显示了数据库中的所有值。所以我不希望报告中的所有值。相反,我需要限制报告。也就是说,当我搜索这些值时(通过一些sql查询),我会在列表中得到一个o/p的搜索值。因此,我需要搜索值列表的报告。因此,请指导我解决此问题。

听起来您需要使用dataSource属性:

dataSource:这是一个获取会话和传递的参数的闭包。如果您需要更复杂的查询来检索数据,即基于请求参数或会话中登录的用户,或者只是为了与您的服务或其他插件(如Filter Plugin)集成,您可以在这里进行钩子

在dataSource闭包内部,您的逻辑应该用于限制报告中显示的内容(如果您使用SQL查询,您的SQL查询将转到此处)。如果您向下滚动至网站“命名报告”部分中的salesByStateReport,您将看到一个示例:

dataSource = { session, params ->
        Sale.findAll('from Sale as s where s.branch.state = ? order by branch.name', [params.state])
    }
如果您使用的是实体格式,只需在静态可报告映射中将“dataSource=”更改为“dataSource:”

这将使用实体格式从URL调用,如下所示:

或类似名称格式:

报告名称和状态=您的状态值


可能是重复的是,但我无法从任何人那里得到回应。。。。