如何在BIRT报告中访问HashMap中的值

时间:2018-02-01 07:49:10

标签: java birt

我有许多BIRT报告使用POJO中的信息来显示不同的信息集。

标准报告包含标题和测试结果列表。这适用于A4报告,但我现在希望能够打印标题中包含1或2个项目的标签(例如客户)以及特定测试的1或2个结果。

我的想法是在标题中添加一个HashMap,并为测试添加一个选项,以便能够将结果存储到HashMap中的命名位置。

我的问题是:如何从使用脚本化数据集的报表中访问HashMap中的值?

1 个答案:

答案 0 :(得分:0)

实际上,这并不像我想象的那么困难。

我把它添加到我的POJO:

private Map<String, Object> valueMap;
public Map<String, Object> getValueMap(){ return valueMap; }

并将其添加到主DataSet #fetch方法:

row["ValueMap"] = p.getValueMap();

其中列ValueMap被定义为Java对象。

在报告中,我可以添加包含

的DynamicText
row["ValueMap"].get('CalibrationFactor')

所以现在我可以通过测试将结果值存储在&#39; CalibrationFactor&#39;中,它将显示在报告中。