我有一个图表报告,显示一段时间内的指标值。此指标是报表参数,可以表示百分比(%)或货币($)值。
以下是百分比类型的示例:
现在我需要根据所选指标的类型更改数据点标签的格式数。在BIRT设计器中,我默认定义了百分比格式:
指标类型从数据集中提取并存储在持久性全局变量中,以便可以在图表脚本中访问。
在交叉表的数据字段中,可以在“onCreate”事件中更改格式,例如:
this.getStyle().numberFormat="$ #,###";
但是在图表脚本中,我无法找到一种动态更改格式编号的方法。任何建议将不胜感激!
答案 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()));
}