我不知道如何在jasper报告中使用Grails呈现列表属性
我的域类看起来像这样:
class Project {
String name
String projectLeader
List divisions
String toString(){
"$name"
}
static hasMany = [divisions : 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{divsions.[1].name}
但这只有在列表元素的数量每次都相同且有限的情况下才有效。
如果元素的数量未知,有没有办法迭代列表元素?
或者是否有不同的可能性来访问列表元素?
答案 0 :(得分:1)
它不需要那里的列表索引。 使用方式如下:
<textFieldExpression class="java.lang.String"><![CDATA[$F{divisions.name}]]></textFieldExpression>
而不是:
$F{divisions.[0].name}