PDA

Просмотр полной версии : поиск в ArrayCollection


bereal
23.01.2008, 15:18
Есть грид, который отображает модель данных, в которой элементы идентифицируются по строковым ключам (id).

При обновлении элемента, я знаю его строковый id, но не знаю текущий index в ArrayCollection, чтобы обновить элемент данных, чтобы грид в свою очередь обновил это визуально.

Есть ли быстрый способ поиска элемента в ArrayCollection по свойству объекта?

Либо предложите правильный способ организации хранения и отображения таких данных.

looptroop
24.01.2008, 03:48
помоему там так

var example:ArrayCollection = new ArrayCollection ([{data:1, value:2}, {data:2, value:2}, {data:3, value:2}]);

Есть метод getItemAt...

тогда циклом по нему

for (var i:Number = 0; i < example.length; i++)
{
trace ("data = "+example.getItemAt(i).data)+" ; value = "+example.getItemAt(i).value);
};

таким образом можно узнать свойства объекта в коллекции.

bereal
24.01.2008, 17:05
Ну каждый раз перебирать всю коллекцию очень не хочется

baron27
24.01.2008, 17:10
чтобы грид сам обновлял это визуально, нужно задать твоей ArrayCollection атрибут [Bindable].

looptroop
24.01.2008, 17:10
ну так создай свой метод find и все... механизм я написал... даже если у них есть что-то типа find... то будет тоже самое что и у тебя.

baron27
25.01.2008, 20:13
можно попробовать еще
mx.utils.ArrayUtil.getItemIndex (item:Object, source:Array)

Silverghost
25.01.2008, 20:37
А Cursor использовать нельзя? Или я постановку задачи не так понял?