2010-03-24 4 views
4

У меня есть диаграмма столбцов, которая использует функцию метки для форматирования вертикальной оси. Я добавил кнопку и хочу, чтобы ось (или диаграмма) перерисовывалась при нажатии кнопки. Прямо сейчас ось диаграммы отображает ОК только при первоначальном добавлении в состояние представления.Как заставить диаграмму Flex перерисовать во время выполнения

У меня есть функция, которая устанавливает различные свойства после создания диаграммы. Там, я попытался все это:

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); 
     } 
    } 
+0

нормально будет работать Если вы переназначить "verticalAxis.labelFunction = vAxisFormat" на этой кнопке мыши. – manjs

ответ

0

Попробуйте обновить поставщика данных. Это перерисовывает график, поэтому все компоненты.

Пример:

ArrayCollection arr.refresh();

XML char.dataprovider = XMLDATA

regars

Смежные вопросы