首页 文章

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

提问于
浏览
1

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

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

enter image description here

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

enter image description here

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

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

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

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

1 回答

  • 1

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

    importPackage(Packages.java.text);
    nf = new DecimalFormat(getGlobalVariable("numberFormat"));
    
    function beforeDrawDataPointLabel( dph, label, icsc ){ 
      label.getCaption().setValue(nf.format(dph.getOrthogonalValue()));
    }
    

相关问题