0

我不知道如何在碧玉报告中呈现来自 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}

但这只有在列表元素的数量每次都相同且有限的情况下才有效。

如果不知道元素的数量,有没有办法遍历列表元素?

或者是否有不同的可能性来访问列表元素?

4

1 回答 1

1

它不需要那里的列表索引。像这样使用:

<textFieldExpression   class="java.lang.String"><![CDATA[$F{divisions.name}]]></textFieldExpression>

而不是这个:

 $F{divisions.[0].name}
于 2013-09-11T03:42:25.787 回答