A JavaBean contient un java.util.List. Comment afficher les données de cette liste dans la bande Détail d'un document JasperReports ?
// Java source to generate the report ... // DataSource using JRBeanCollectionDataSource private static JRDataSource getDataSource() { Collection<BeanWithList> coll = ...; return new JRBeanCollectionDataSource(coll); } // JavaBean public class BeanWithList { private List<String> cities; // ... // Ensure a public getter for field extraction public List<String> getCities() { return this.cities; } } // jrxml file ... // Subdataset for iterating through the list <subDataset name="dataset1"> <field name="city" class="java.lang.String"> <fieldDescription><![CDATA[_THIS]]></fieldDescription> </field> </subDataset> // Detail band with jr:list component <detail> ... <componentElement> <!-- jr:list component --> <jr:list ...> <datasetRun subDataset="dataset1"> <!-- DataSource expression using JRBeanCollectionDataSource --> <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{cities})]]></dataSourceExpression> </datasetRun> <jr:listContents ...> <textField ...> <textFieldExpression><![CDATA[$F{city}]]></textFieldExpression> </textField> </jr:listContents> </jr:list> </componentElement> ... </detail> ...
Cette configuration génère un rapport affichant les données de la liste au sein du Détail bande.
D'autres questions pertinentes abordent ce sujet :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!