Birt中的复合字段

时间:2011-11-08 15:40:49

标签: reporting birt

我是Birt的初学者(实际上这是我的第一天),我的任务是创建一个看起来与Flash / Flex完成的Birt报告......这份报告看起来非常好。

问题是:我的Flex解​​决方案我有一个DataGrid字段,如果数值为0或更大,则由Label后跟数字输出组成。

基于记录集行的两个值,我通过应用Birt的映射功能获得国际化值(这已经很好用)。如果值大于或等于0,则生成的String应附加“({value})”。

使用设计器时,我只能在其自己的表格单元格或表格行中放置第二个字段,但我似乎无法在一个表格单元格中输出这两个字段。

如果有人可以指导我完成这件事,那就太好了。

克里斯

1 个答案:

答案 0 :(得分:1)

感谢jinowolskis发布...只是想在任何人遇到同样的问题时添加完整的解决方案: - )

importPackage( Packages.java.text );
var myKey = "" + row["vulnerabilityClass"] + "." + row["result"];
if(row["cvssScore"] >= 0) {
    var nf = NumberFormat.getNumberInstance(reportContext.getLocale());
    nf.setMinimumFractionDigits(1);
    nf.setMaximumFractionDigits(1);
    reportContext.getMessage(myKey, reportContext.getLocale()) + " (" + nf.format(row["cvssScore"]) + ")";
} else {
    reportContext.getMessage(myKey, reportContext.getLocale());
}