在jasper报告中遍历grails中的列表元素
我不知道如何在jasper报告中呈现Grails中的列表属性 我的域类如下所示:在jasper报告中遍历grails中的列表元素,grails,jasper-reports,jasper-plugin,Grails,Jasper Reports,Jasper Plugin,我不知道如何在jasper报告中呈现Grails中的列表属性 我的域类如下所示: class Project { String name String projectLeader List divisions String toString(){ "$name" } static hasMany = [divisions : Division ] ... <textFieldExpression class="java.lang.String"><![C
class Project {
String name
String projectLeader
List divisions
String toString(){
"$name"
}
static hasMany = [divisions : Division ]
...
<textFieldExpression class="java.lang.String"><![CDATA[$F{divisions.name}]]></textFieldExpression>
这里是division域类
class Division {
String name
String divisionResponsible
String createDate
...
项目控制器如下所示
class ProjectController {
def scaffold = true
def index = {
redirect(action : list)
}
def createReport = {
def projectreport = Project.getAll([params.project_id])
chain(controller:'jasper',action:'index',model:[data:projectreport],params:params)
}
}
通过定义和访问如下元素,显示项目域中的数据效果良好
$F{name}
$F{projectLeader}
问题是访问列表元素。我找到的唯一工作方法是
$F{divisions.[0].name}
$F{divisions.[0].name}
或用于列表中的第二个元素
$F{divsions.[1].name}
但这只有在列表元素的数量每次都相同且有限的情况下才有效
如果元素的数量未知,是否有方法遍历列表元素
或者访问列表元素有不同的可能性吗?它不需要列表的索引。 这样使用:
class Project {
String name
String projectLeader
List divisions
String toString(){
"$name"
}
static hasMany = [divisions : Division ]
...
<textFieldExpression class="java.lang.String"><![CDATA[$F{divisions.name}]]></textFieldExpression>