2010-03-01 30 views
2

我正在使用JavaBeans的JasperReports(我需要在使用Hibernate的應用程序中打印報告)。現在我可以研究Beans集合並在JasperReports中使用它們,但有時我想知道是否有方法訪問bean屬性,而不是集合。我的意思是我使用JRBeanCollectionSource作爲各種子報表的來源。假設我有一個人名單,每個人都有一個Car屬性。現在有沒有一種方法可以直接訪問汽車屬性而不會將其視爲集合?JavaBeans和JasperReports

回答

3

您可以嘗試從Bean中拉出屬性並放入不同的DataSource,例如JRMapCollectionDataSource。

這意味着不必每次都處理整個Bean集合。

以下是構建數據源的一些示例代碼。

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); 
+0

謝謝,文檔對此不是很清楚...... – gotch4 2010-03-04 17:24:34

+0

它在最好的時代是模糊的...... – Gordon 2010-03-04 17:54:29