2010-03-01 4 views
2

Я использую JasperReports с JavaBeans (мне нужно печатать отчеты в приложении, использующем Hibernate). Теперь я могу собрать коллекции Beans и использовать их в JasperReports, но иногда мне интересно, есть ли способ получить доступ к свойствам bean без его коллекции. Я имею в виду, что я использую JRBeanCollectionSource в качестве источника для различных субресурсов. Предположим, у меня есть список людей, и у каждого из них есть свойство Car. Теперь есть способ получить доступ к свойствам автомобилей напрямую, не увидев его как коллекцию?JavaBeans и JasperReports

ответ

3

Вы можете попытаться вытащить свойство из Bean и вставить другой источник данных, например, JRMapCollectionDataSource.

Это означало бы не иметь дело со всей коллекцией Bean каждый раз.

Вот пример кода для построения 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); 
+0

Спасибо, документы не очень понятны об этом ... – gotch4

+0

Это расплывчато в лучшие времена ... – Gordon

Смежные вопросы