来自列表属性的列。在动态碧玉中可能吗?

问题描述:

DynamicJasper中的Hashmap属性的动态列。可能吗?来自列表<?>属性的列。在动态碧玉中可能吗?

嗨,我真的很新的动态贾斯珀。我遇到了一些应该来自Hashmap属性的列的问题。我把一个例子再清楚不过了:

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

我的数据源是一个产品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中的键相同,值是散列表的值。 每个对象(产品)有不同的意见(值),但同样keys.for例如一个HashMap:

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

你可以做的产品中的每一个关键的迭代,为每一个打印的产品,其价格的关键和相应的值的名称。

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

谢谢,但它不像散列图上的迭代那么简单我想创建列动态Jasper动态,它不会用一个简单的itteration =( – melika