Hey, ruX is here.

flex: Array в качестве dataProvider в DataGrid’е

Изначально у меня все данные для отображения в таблицах хранились в обычных массивах Array, с биндингом, в общем виде как то так:

[Bindable]
protected var super_mega_array:Array = new Array();

В него push'ались элементы, и всё это дело какбе работало. В процессе работы приложения массив меняется, я надеясь на [Bindable] думал, что таблицы тоже должны какбе поменяться. А вот и нет.

Как выяснил, мало того, чтоб DataGrid имел провайдера dataProvider с [Bindable], надо чтоб он ещё и реагировал на изменения(уведомлял об изменениях внутри себя слушателя). Значит тут прямая дорога к ArrayCollection. Изменив все массивы Array которые отображались в таблицу на ArrayCollection, заменив метод .push на .addItem, получил что хотел - любое изменение массива немедленно отражается в таблице :)

Exit mobile version