JasperReports :Передача списков через карту параметров и подробные записи, распечатываемые на новой странице для каждой записи

Я пытаюсь создать отчет с двумя дополнительными отчетами -для новых и подержанных автомобилей.

Я определил bean-компонент транспортного средства в соответствии со спецификацией JavaBeans. Я думал об использовании карты параметров для передачи этих данных в подчиненный отчет через основной отчет, как описано в сообщении Передача источника данных JRBeancollection в основной отчет и подчиненный отчет .

Шаги, которые я предпринял до сих пор, следующие:

Первый шаг-Передача коллекции в качестве параметра

Map jasperParameter = new HashMap();
jasperParameter.put("new_Vehicles", createNewVehicles()); //returns a collection of vehicles.

Второй шаг-Создание параметра new_Vehiclesв моем основном отчете и установка его как Collectionтип данных

Третий шаг-Создание выражения источника данных для подотчета -какnet.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{new_Vehicles})

Четвертый шаг-Создание поля (просто для того, чтобы это заработало, прежде чем я добавлю дополнительные поля ), vehicleIdв подотчет.

Вопросы/проблемы, которые у меня возникают, и я был бы признателен за любую помощь:
a )Когда я компилирую, это дает мне сообщение об ошибке, что вышеупомянутый источник данных не может быть разрешен к типу. Что я делаю неправильно?

Итак, я думаю, что мог обойти исключение, добавив «новое» перед выражением данных, new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{new_Vehicles}).

Но теперь, если есть два новых автомобиля, которые я добавляю в список, он печатается на двух страницах, в основном по одной странице на элемент в списке. Заголовки моих столбцов находятся вЗаголовок столбцагруппа и мои поля находятся вДетальгруппа.

Любые предложения о том, как я могу предотвратить размещение каждого элемента в списке на другой странице?

5
задан Community 23 May 2017 в 11:48
поделиться