在Flex数组集合中交换元素的最佳方法是什么?
我绑定了一个ArrayCollection作为数据提供程序到组合框。选择一行,应该将对象移动到组合框列表的顶部,并将顶部对象移动到所选对象的位置。
我会这样做:
dataProvider.addItemAt(dataProvider.removeItemAt(selectedIndex), 0);
唯一的问题是,这将使组合框重新绑定两次,但为了简单起见,这应该不是一个问题。
试过settitemat ?
成功了!
var temp:Object = myDataProvider.getItemAt(0);
var pos:int = myDataProvider.getItemIndex(selected);
myDataProvider.setItemAt(selected,0);
myDataProvider.setItemAt(temp,pos);
myDataProvider.refresh();