JavaBean-basierte Berichte beinhalten oft die Anzeige von Daten, die in Java-Listen enthalten sind. In diesem Artikel wird erläutert, wie Sie dies mithilfe von JRBeanCollectionDataSource erreichen können.
public class Userinfo { private String username; private String password; private List<Address> listAddress; }
private static JRDataSource getDataSource() { Collection<BeanWithList> coll = new ArrayList<BeanWithList>(); coll.add(new BeanWithList(Arrays.asList("London", "Paris"), 1)); coll.add(new BeanWithList(Arrays.asList("London", "Madrid", "Moscow"), 2)); coll.add(new BeanWithList(Arrays.asList("Rome"), 3)); return new JRBeanCollectionDataSource(coll); }
Erstellen Sie im Bericht einen Unterdatensatz für die Liste und ein ComponentElement (jr:list) im Bereich Detail.
<subDataset name="dataset1"> <field name="city" class="java.lang.String"> <fieldDescription><![CDATA[_THIS]]></fieldDescription> </field> </subDataset> ... <detail> <componentElement> <jr:list printOrder="Vertical"> <datasetRun subDataset="dataset1"> <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{cities})]]></dataSourceExpression> </datasetRun> </jr:list> </componentElement> </detail>
Das obige ist der detaillierte Inhalt vonWie zeige ich Daten aus einer Java-Liste in einer JavaBean mithilfe von JRBeanCollectionDataSource an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!