|
|
|||||
Не могу добавить элемент в массив
Привет. Некоторые вещи просто не укладываются в голове. Например вот:
<?xml version="1.0"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()"> <mx:Script> <![CDATA[ import mx.controls.dataGridClasses.DataGridColumn; import mx.collections.ArrayCollection; import ru.inils.utils.Debugger; [Bindable] private var testList:ArrayCollection; private var columnID:DataGridColumn = new DataGridColumn("id"); [Bindable] //private var columnsArray:Array = [columnID];//так работает private var columnsArray:Array = [];//так не работает private function init():void { columnsArray.push(columnID);//колонка в массив добавляется, о чем говорит трэйс, но отображается пустой датаГрид Debugger.trace(columnsArray.length);//1 httpTest.send(); } ]]> </mx:Script> <mx:HTTPService id="httpTest" url="../src/testXML.xml" result="testList=httpTest.lastResult.root.test"/> <mx:DataGrid id="dataGrid" dataProvider="{testList}" columns="{columnsArray}"/> </mx:Application> |
|
|||||
Регистрация: Jul 2006
Сообщений: 170
|
Видимо просто не срабатывает биндинг, массив не выкидывает проперти чендж
|
|
|||||
Flash Aксакал
Регистрация: Jun 2005
Сообщений: 636
|
А почему сразу не использовать ArrayCollection? и добавлять через columnsArray.addItem...
|
|
|||||
Modus ponens
|
Потому что для того, чтобы зарегистрировать нормально изменения свойств, объект должен быть либо IEventDispatcher, либо XML. Array не диспатчит никаких событий / не дергает никакие колбеки когда в нем меняется что-то.
__________________
Hell is the possibility of sanity |
Часовой пояс GMT +4, время: 02:00. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|