Flex: замена двух элементов в коллекции Array

Как лучше всего переключаться между элементами в коллекции Flex Array?

Я привязываю ArrayCollection в качестве поставщика данных к полю со списком. Выбор строки должен переместить объект в верхнюю часть списка поля со списком и переместить верхний объект в позицию выбранного объекта.


person Satish    schedule 26.04.2011    source источник


Ответы (3)


Я бы сделал это вместо этого:

dataProvider.addItemAt(dataProvider.removeItemAt(selectedIndex), 0);

Единственная проблема заключается в том, что это приведет к повторной привязке поля со списком дважды, но для простоты это не должно быть проблемой.

person J_A_X    schedule 26.04.2011

Это сработало!

      var temp:Object = myDataProvider.getItemAt(0);
      var pos:int = myDataProvider.getItemIndex(selected);

      myDataProvider.setItemAt(selected,0);
      myDataProvider.setItemAt(temp,pos);
      myDataProvider.refresh();
person Satish    schedule 26.04.2011
comment
НО, это изменит сами предметы! Итак, если вы указали какой-либо элемент этой коллекции массивов после этой операции, его свойства будут изменены. Это неправильный способ поменять местами элементы в списке, но это способ поменять местами свойства двух элементов. - person radistao; 17.10.2012

Пробовал setItemAt?

person Assaf Lavie    schedule 26.04.2011