Я пытаюсь создать отчет с двумя дополнительными отчетами -для новых и подержанных автомобилей.
Я определил 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})
.
Но теперь, если есть два новых автомобиля, которые я добавляю в список, он печатается на двух страницах, в основном по одной странице на элемент в списке. Заголовки моих столбцов находятся вЗаголовок столбцагруппа и мои поля находятся вДетальгруппа.
Любые предложения о том, как я могу предотвратить размещение каждого элемента в списке на другой странице?