如何通过脚本格式化BIRT图表的系列标签

时间:2015-07-14 10:40:45

标签: charts birt

我有一个图表报告,显示一段时间内的指标值。此指标是报表参数,可以表示百分比(%)或货币($)值。

以下是百分比类型的示例:

enter image description here

现在我需要根据所选指标的类型更改数据点标签的格式数。在BIRT设计器中,我默认定义了百分比格式:

enter image description here

指标类型从数据集中提取并存储在持久性全局变量中,以便可以在图表脚本中访问。

在交叉表的数据字段中,可以在“onCreate”事件中更改格式,例如:

 this.getStyle().numberFormat="$ #,###";

但是在图表脚本中,我无法找到一种动态更改格式编号的方法。任何建议将不胜感激!

1 个答案:

答案 0 :(得分:1)

此问题已在openText论坛here中得到解答。我们可以在图表事件“beforeDrawDataPointLabel”中格式化数据点标签。在下面的这个例子中,预期的数字格式(例如“$#,###”)存储在一个全局变量“numberFormat”中:

importPackage(Packages.java.text);
nf = new DecimalFormat(getGlobalVariable("numberFormat"));

function beforeDrawDataPointLabel( dph, label, icsc ){ 
  label.getCaption().setValue(nf.format(dph.getOrthogonalValue()));
}