2

I am new to jasper report,i have two beans,one is main and another is sub bean,i am passing sub bean list to main bean and fetching the values from main bean which contains list of sub bean and two attributes college and address fields,in that i am getting college and address correctly from main bean but occurring error fetching values from sub-bean list.

Error:

net.sf.jasperreports.engine.JRException: Error retrieving field value from bean : age
at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbstractBeanDataSource.java:123)
at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getFieldValue(JRAbstractBeanDataSource.java:96)
at net.sf.jasperreports.engine.data.JRBeanCollectionDataSource.getFieldValue(JRBeanCollectionDataSource.java:100)
at net.sf.jasperreports.engine.fill.JRFillDataset.setOldValues(JRFillDataset.java:1356)
at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:1257)
at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:1233)
at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1577)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:149)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:932)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:864)
at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:114)
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:653)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:969)

My Code:

List<StudentTransactionDTO> studentTransactionDTOList = firstDTO.getStudentTransactionDTOList();
firstDTO.setStudentTransactionDTOList(studentTransactionDTOList);
reports.add((Object) firstDTO);
//when i print this on console it prints

jasperDesign = JRXmlLoader.load(getReportFile());
jasperReport = JasperCompileManager.compileReport(jasperDesign);
//It load and compile report successfully.
//It gives error while filling data.
jasperPrint = JasperFillManager.fillReport(jasperReport, parameter,
                    new JRBeanCollectionDataSource(reports,false));

My First Bean:

public class FirstDTO {
private String College= "";
private String address= "";
private List<StudentTransactionDTO> studentTransactionDTOList =
new ArrayList<StudentTransactionDTO>();
getter and setters....

Second Bean(Inner Bean):

public class studentTransactionDTO {
private String age= "";
private String Name = "";
private String marks = "";
getter and setters....

Please give me some suggestion,how to retrieve values from second bean and set to jasper report.

Regards.

Girish K
  • 758
  • 1
  • 13
  • 24
  • possible duplicate of [Unable to retrieve value from a JavaBean while generating reports using JasperReports API](http://stackoverflow.com/questions/18119754/unable-to-retrieve-value-from-a-javabean-while-generating-reports-using-jasperre) – Alex K Jan 28 '14 at 14:01
  • @Alex K The question suggested by you,not satisfy me,that's why i put this question, and in this question i provide my bean class as public. – Girish K Jan 30 '14 at 04:29
  • Do you have `Caused by: java.lang.NoSuchMethodException` in full stack trace? – Alex K Jan 30 '14 at 09:25
  • @AlexK no, it is not because of 'java.lang.NoSuchMethodException',its unable to fetch the value of inner bean (studentTransactionDTOList),if you have any suggestion then please tell me. – Girish K Jan 31 '14 at 04:30

1 Answers1

0

For that, i used subreport and used the second bean in subreport and for this answer i take a help of: Click Here

Community
  • 1
  • 1
Girish K
  • 758
  • 1
  • 13
  • 24