2010-03-01 32 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