gpt4 book ai didi

java - 通过 jasperreport 打印整个 HashMap

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:57:06 25 4
gpt4 key购买 nike

我需要通过 jasperreport 打印整个 map

例子:

Column1 Column2

key1 val1

key2 val2

key2 val2

应该选择什么数据源?

报告来源应包含哪些内容?

PS:我不想像$P{key11}

那样直接获取值

最佳答案

我会尝试这样的事情

Map<String,Object> map = new HashMap<String,Object>();
//your map values....
Set<Entry<String,Object>> set = map.entrySet();
JRBeanCollectionDataSource bds = new JRBeanCollectionDataSource(set);

在 jasper 报告中你的字段将是

<field name="key" class="java.lang.String"/>
<field name="value" class="java.lang.Object"/>

注意:我如何使用 Map.Entry bean getKey()getValue() 创建我的数据源

如果您想对值进行排序,只需实现一个 Comparator 并使用 Collections 即可。

    List<Entry<String, Object>> list = new ArrayList<Entry<String, Object>>();
list.addAll(set);
Collections.sort(list, new Comparator<Entry<String, Object>>() {
@Override
public int compare(Entry<String, Object> o1, Entry<String, Object> o2) {
// TODO Implement you sorting
return 0;
}
});
JRBeanCollectionDataSource bdsSorted = new JRBeanCollectionDataSource(list);

关于java - 通过 jasperreport 打印整个 HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33362483/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com