Есть два способа, которыми вы можете это сделать:
Вы действительно можете решить это, используя подчиненный отчет. Для этого вам нужно будет добавить подчиненный отчет и установить его выражение источника данных в new JRBeanCollectionDataSource($F{members})
. Поля вашего Member
bean будут доступны в качестве полей в подзаголовке (например, $F{name}
).
Вы также можете решить это без подзаголовка используя компонент списка. Это доступно из палитры в iReport, или вы можете скопировать приведенный ниже пример. Это необходимо добавить в подробный диапазон вашего отчета.
Компонент списка имеет выражение источника данных точно так же, как отчет, который вы должны установить на new JRBeanCollectionDataSource($F{members})
, и имеет элемент listContents
, который ведет себя как лента деталей подрепортажа; элементы внутри него будут повторяться один раз для каждого члена в источнике данных.
Компонент списка требует в вашем отчете подкаталога, но это будет автоматически добавлено iReport, или вы можете легко добавить пустую:
.
Дополнительную информацию о компоненте списка можно найти здесь: http://jasperreports.sourceforge.net/sample.reference/list/index.html