2016-11-29 2 views
0

Динамические столбцы из свойства Hashmap в DynamicJasper. Является ли это возможным?Столбцы из списка <?> Недвижимость. Возможно ли это в динамической яшме?

Привет, я действительно новичок в Dynamic Jasper. У меня возникают некоторые проблемы с некоторыми столбцами, которые должны исходить из свойства Hashmap. Я поставлю пример понятнее:

class Product { 
private String name; 
private String price; 
private String whatever; 
private Hashmap<String,String> comments; 
} 

Мой DataSource является List<Product> продукции;

|__name___|___price___|_____whatever_____|______First item inside the comments list_____|___Second item inside the comments list____|___N item inside the comments list __| 

название столбцов будет таким же, как ключ в значении hashmap.and является значение HashMap. каждый объект (продукт) имеет HashMap с различными комментариями (значения), но то же keys.for например:

product1: name1,price1, hashmap: ("quality","good")("easyToUse","yes") 
product2: name2,price2, hashmap: ("quality","bad")("easyToUse","no") 

и отчет должен быть так:

|__ name_______|______price _____|_____quality_____|______easyToUse______| 

|___name1_____|______price1_____|______ good_____|______ yes___________| 

|___name2_____|______price2_____|______ bad______|______ no____________| 

Можно ли, или я должен попробуйте другой подход? Как я могу создать столбцы динамически? И установить их правильное значение?

С наилучшими пожеланиями

+0

Что вы подразумеваете под колонкой ?? сделал ли вы свой код? –

+0

Вы имеете в виду метод 'toString', где вы сначала печатаете имя, значение, что угодно, а затем список комментариев? –

+0

@ RimonMostafiz Я нашел это: http://www.dynamicreports.org/forum/viewtopic.php?f=1&t=170 , но я не мог его использовать. = ( – melika

ответ

0

Что вы можете сделать, это перебрать каждый ключ в продуктах, для каждого из печати названия продукта, его цены, ключа и соответствующего значения.

for(Product p : Products){ 
    for(String key : p.comments.keySet()){ 
     System.out.println(p.name +", " + p.price", "+ key +" " + p.comments.get(key)); 
    } 
} 
+0

спасибо, но это не так просто, как итерация на хэш-карте. Я хочу создать столбцы Динамически с помощью Dynamic Jasper он не будет разрешен с помощью простой итерации = ( – melika