0

我有一个返回数字的 xmldatasource。如果字体颜色为负数或小于零,我需要将字体颜色更改为红色,如果是正数,我需要将其更改为绿色。以下解决方案无法正常工作。我把它放在 Onrender 中,并尝试在数据单元本身的 onPrepare 中。(单击数据单元,然后单击脚本选项卡)。似乎它没有进入 IF 语句,总是执行 else。我认为它可能是字符串类型,但是当我将其更改为字符串时,仍然无法正常工作。

if(this.getValue() < 0) 
    this.getStyle().color = "#F0000"
else this.getStyle().color = "#008040"

我也试过

if(this.value < 0) 
    this.getStyle().color = "#F0000"
else this.getStyle().color = "#008040"

或者

if(this.value == "-1") 
    this.getStyle().color = "#F0000"
else this.getStyle().color = "#008040"

它总是执行 else 因此总是绿色的。我错过了什么?谢谢

4

1 回答 1

3

数据集尚未填充到“onPrepare”语句中,如果您将其放入“onCreate”中,这将起作用。但是,这也应该与“onRender”一起运行(它对我有用)。将脚本放在数据项上要非常小心,而不是放在它的数据单元容器上。

if(this.getValue() < 0) 
    this.getStyle().color = "red"
else this.getStyle().color = "green"

顺便说一句,对于颜色编码,使用“突出显示”功能(在属性编辑器中)而不是脚本可能是更好的做法。

在此处输入图像描述

于 2013-10-18T10:33:50.860 回答