2010-01-30 9 views
0

J'ai un POJO qui compile des données provenant de diverses sources en un seul objet. L'objet est instancié avec un seul paramètre. Exemple:Utilisation d'un POJO en tant que source de données iReport

Invoice inv=new Invoice(1239); 

Ceci vous ramènera à une facture complète contenant d'autres POJO remplis avec des données provenant de diverses sources (telles que les adresses de facturation et de livraison comme Address objets). Puis-je l'utiliser comme source de données dans iReport?

Répondre

1

Vous pouvez essayer d'utiliser un JRMapCollectionDataSource à partir duquel vous pouvez créer une source de données à partir d'une collection.

Vous pouvez prendre les valeurs de l'objet POJO et les placer dans une collection si possible.

Voici un exemple de code pour la construction d'une DataSource.

Collection<Map<String, Object>> myColl = new ArrayList<Map<String,Object>>(); 

Map<String, Object> map1 = new HashMap<String, Object>(); 
map1.put("Field1","Value1"); 
map1.put("Field2","Value2"); 
map1.put("Field3", someObject); 
myColl.add(map1); 

JRMapCollectionDataSource source = new JRMapCollectionDataSource(myColl); 

Une autre option serait de créer une source de données personnalisée en mettant en œuvre JRRewindableDataSource ou JRDataSource.

Questions connexes