2013-09-09 2 views
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} 

Но это работает только если число элементов списка является каждый раз то же самое и ограниченным.

Есть ли способ перебора элементов списка, если количество элементов неизвестно?

Или есть ли другая возможность доступа к элементам списка?

ответ

1

Здесь не нужен индекс списка. Использование так:

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

вместо этого:

$F{divisions.[0].name}