может я чего то не понимаю но код

Код AS3:
var obj:Object = arrayRooms.getItemAt(t); //вместо Object свой тип
var oldValue:int = obj.timer_sec; //вместо Object свой тип
obj.timer_sec = oldValue-1; //вместо 20 свое значение
arrayRooms.itemUpdated(obj, "timer_sec", oldValue, obj.timer_sec); //сообщаем об изменении
trace('oldValue-'+oldValue);
trace('obj.timer_sec-'+obj.timer_sec);
c datagrid ничего не делает, данные не обновляются. при этом trace показывает то что нужно
P.S.
Есть некоторые сдвиги
если убрать itemRenderer="showSec" и добавить dataField="timer_sec"
то все прекрасно работает, как сделать чтоб с итемрендерором работало ?
itemRenderer

Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:s="library://ns.adobe.com/flex/spark"
paddingLeft="2" verticalAlign="middle" horizontalAlign="center" height="20" >
<mx:Style>
.style_gray {
color:#999999;
}
.style_black {
color:#000000;
}
</mx:Style>
<mx:Script>
<![CDATA[
override public function set data(value:Object):void {
super.data = value;
if (value != null) {
var countSecCreateDelta:int = int(value.timer_sec);
// если 2 серый стиль
if ( int(value.table_count_players) < 3 ) {
id_label_create_delta.styleName = 'style_gray';
} else {
id_label_create_delta.styleName = 'style_black';
}
// дефолтные значения
if (countSecCreateDelta < 0) {
id_label_create_delta.text = '00:00';
} else if (countSecCreateDelta < 10) {
id_label_create_delta.text = '00:0'+value.table_create_delta;
} else {
id_label_create_delta.text = '00:'+value.table_create_delta;
}
// конец условия на null
}
// конец функции
}
]]>
</mx:Script>
<s:Label id="id_label_create_delta" />
</mx:HBox>