如何在运行时强制Flex图表重绘

时间:2010-03-24 06:04:54

标签: flex flex3

我有一个柱形图,它使用标签函数来格式化垂直轴。我添加了一个按钮,希望在单击按钮时重绘轴(或图表)。现在,只有在最初添加到视图状态时,图表轴才会呈现OK。

我有一个在最初创建图表后设置各种属性的函数。在那里,我尝试了所有这些:

myChart.verticalAxis.dataChanged();
myChart.validateNow();
myChart.validateDisplayList();
myChart.validateProperties();
myChart.invalidateDisplayList();
myChart.invalidateProperties();

但它们不会改变轴格式。我怎么能这样做?

轴的MXML代码是:

< mx:LinearAxis id="verticalAxis" labelFunction="vAxisFormat"/>

标签功能是:

    private function vAxisFormat(labelValue:Number, previousValue:Object, axis:IAxis):String {
        axis.getLabelEstimate();
        if (_scale == 1){
            return currencyFormatter.format(labelValue/_scale); 
        }else {
            return numberFormatter.format(labelValue/_scale);
        }   
    }

1 个答案:

答案 0 :(得分:0)

尝试更新数据提供者。这会重绘图表,所以所有组件都会重新绘制。

示例:

的ArrayCollection arr.refresh();

XML char.dataprovider = xmlData

regars