jasper grails中的报告

jasper grails中的报告,grails,jasper-reports,Grails,Jasper Reports,我的控制器操作是 def jasper () { def emp = Employee.findAll() chain(controller:'jasper', action:'index', model:[data:emp],params:params) } 在我的jrxml文件中,我有以下字段:姓名、姓氏、性别、电话 我想编写一个只包含name和lastname数据的查询,但使用相同的jrxml文件,那么我的操作将是 def jasper () { def

我的控制器操作是

def jasper () {
      def emp = Employee.findAll()
    chain(controller:'jasper', action:'index', model:[data:emp],params:params)
}
在我的jrxml文件中,我有以下字段:姓名、姓氏、性别、电话

我想编写一个只包含name和lastname数据的查询,但使用相同的jrxml文件,那么我的操作将是

def jasper () {
      def emp = Employee.executeQuery("select a.name  a.lastname from Employee a ")
    chain(controller:'jasper', action:'index', model:[data:emp],params:params)
}

这并不是在我的报告中只打印name和lastname,而是不会给出任何方法异常。如何做到这一点?

我不认为第二个查询结果可以替代第一个查询结果,因为结果的结构完全不同

在第一种情况下,您将获得一个
列表
,而在第二种情况下,您将获得一个
列表


您可以修改Jasper报告,以期望
列表
,并在第一个场景中使用
选择a.name、a.lastname、a.gender、a.phone from Employee a
。在这种情况下,您可以保护报表不受可能的空值的影响,以便报表能够很好地处理第二个更有限的结果集。

第一个查询是否正常?您是否打印了executeQuery执行的结果?