2014-10-28 1 views
-1

Я использую Jasper-Reports 5.2.0 и имею основной отчет, содержащий 2 под-отчета.Передача полей в отчеты в отчетах Jasper

У меня есть модель ReportData которая содержит два атрибута: List<Feld> felder и List<Wert> werte. Две подмодели содержат несколько атрибутов с данными, которые будут отображаться в таблице.

Так вот как я передаю свой источник данных в под-отчеты.

<subreport> 
     <reportElement x="0" y="28" width="553" height="51" uuid="502d9559-e6bf-49c8-a34c-ffb8916634cd"/> 
     <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F(werte)]]></dataSourceExpression> 
     <subreportExpression><![CDATA["werte_subreport.jasper"]]></subreportExpression> 
</subreport> 

<subreport> 
     <reportElement x="0" y="90" width="555" height="50" uuid="5e5b0287-5002-4e31-aa8f-afe36ea78827"/> 
     <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F(felder))]]></dataSourceExpression> 
     <subreportExpression><![CDATA["felder_subreport.jasper"]]></subreportExpression> 
</subreport> 

и это, как я заполняю свой доклад (DataSource является сбор ReportData):

printable = JasperFillManager.fillReport(PropertyLoader.getSingleton().loadAsInputStream(REPORT_FOLDER + File.separatorChar + KONFIG_JASPER),parameters, datasource); 

Как-то мои ценности не передаются в подотчеты и Jasper Reports пытается использовать атрибуты как defaultWert, который не является частью класса Wert и должен отображаться в дополнительном отчете.

net.sf.jasperreports.engine.JRException: Error retrieving field value from bean : defaultWert 
Caused by: java.lang.NoSuchMethodException: Unknown property 'defaultWert' on class XXXXXXXXXXXXXXXXXXXXXX.model.ReportData' 

Я определил два списка werte и felder как поля типа java.util.List в главном докладе и определены атрибуты, как для defaultWert как поля типа String, в подотчетов. Что я делаю не так?

+0

Я не понимаю, почему этот вопрос отмечен тегом iText. JasperReports использует устаревшую версию iText и AFAIK, в настоящее время нет деловых отношений между iText и JasperSoft/TIBCO. Я удаляю тег. –

+0

Я не знал об этом несуществующих отношениях. Я использовал тег, потому что он используется во многих вопросах, которые я просматривал, прежде чем я спросил об этом. – shuricano

+1

@shuricano Можете ли вы добавить, как вы создаете источник данных для своего вопроса. Также у вас есть поле под названием 'defaultWert', определенное в основном отчете или в подзаголовках? Мои общие действия по устранению неполадок для этих вещей - удаление суб-отчетов и убедитесь, что основной отчет работает правильно. Затем добавьте один дополнительный отчет за раз, поэтому я могу найти один отчет, в частности, который вызывает проблему. –

ответ

0

Спасибо за ваши ответы, я только что нашел проблему ... это была глупая синтаксическая ошибка ... она должна быть $ F {felder} вместо $ F (felder) в моем JRExpression ... itt теперь работаем нормально!