dytenstan Posted March 9, 2019 Share Posted March 9, 2019 Hi,I am new on JasperReports and I want to learn, what is the main difference when filling the report data by JRBeanCollectionDataSource with Parameters or Fields.I have a big report which has 10 tables in it. I pass the table datasources as parameters to the report. Should I pass the data to the fields, or passing data to params is just OK?Thank you for your answers. Link to comment Share on other sites More sharing options...
hozawa Posted March 10, 2019 Share Posted March 10, 2019 Neither. Data to a table should be passed as a subDataset Link to comment Share on other sites More sharing options...
dytenstan Posted March 11, 2019 Author Share Posted March 11, 2019 Hi Hozawa,Ok, but how to fill that dataSet? I mean, I can pass the data to dataSet as parameter, than I can pass it to dataSourceExpression of dataSet as below;<parameter name="list1" class="net.sf.jasperreports.engine.data.JRBeanCollectionDataSource"/><datasetRun subDataset="dsList1" uuid="bcc71b8c-7287-427c-a26e-20c49c38c30a"> <dataSourceExpression><![CDATA[$P{list1}]]></dataSourceExpression></datasetRun>Is that a wrong approach? Should I feed the dataSource with Field instead of Parameter?Thank you. Link to comment Share on other sites More sharing options...
Raphaël Peguet Posted March 11, 2019 Share Posted March 11, 2019 In this case, it would be OK with using the value of a Parameter as a data source.Does it cause an issue? Link to comment Share on other sites More sharing options...
Friendly User Posted March 11, 2019 Share Posted March 11, 2019 You should be using a parameter here, Fields are objects coming from the data source, Paramters are objects defined before the report query is executed and their value is an expression or custom input. In this case Parameter makes most sense Link to comment Share on other sites More sharing options...
Solution C-Box Posted March 12, 2019 Solution Share Posted March 12, 2019 Perhaps my two cents yet:If you define a complex (nested) java-pojo/bean structure and use the JRBeanCollectionDataSource for your MainReportDataSet at calling the FillManager, so you don't know at this toplevel for what (nested) pojo/bean which substructure existst to pass all possible SubDataSources as parameters from outside!So using a Field for a SubReportDataSourceExpression is also a good solution in this case - so a simple pojo/bean holding a substructure of childs within a ArrayList<SomeBean> myChilds = new ArrayList<SomeBean>() could easily transformed to a new JRBeanCollectionDataSource to use in a List or SubReport Element as DataSourceExpression: new JRBeanCollectionDataSource($F{MyChilds}hth + regardsC-Box Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now