来自列表>属性的列。在动态碧玉中可能吗?
问题描述:
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____________|
是否有可能或者我应该尝试另一种方法? 如何动态创建列并将其设置为正确值?
问候
答
你可以做的产品中的每一个关键的迭代,为每一个打印的产品,其价格的关键和相应的值的名称。
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
你是什么意思列?你有没有试过任何代码? –
您的意思是'toString'方法,您首先打印名称,值,任何内容,然后是评论列表? –
@RimonMostafiz我发现这个:http://www.dynamicreports.org/forum/viewtopic.php?f=1&t=170 但我无法使用它。 =( – melika