好的,我必须使用Flex 3,因为我在Adobe Connect pod中使用它。我有一个List组件,可以通过拖放重新排序。如果有人离开浏览器并回到会议室,我正试图重新显示他们如何通过拖放订购商品。所以我需要一种方法来重新排序列表。我正在研究dataProvider上的Arrays排序。但是我无法找出适当的事件来对列表进行一次排序,所有项目都有适当的数据。
在任何情况下,有没有人知道如何告诉itemRenderer的数据有订购值,然后告诉列表根据新值重新排序列表中的项目?
答案 0 :(得分:2)
我使用的一种可能方式:
使用key:value,Object {rowIndex:rowData}
将数据保存在Object(map)中e.g。 {1:row1Data, 2:row2Data,...}
根据键准备列表值,然后将其分配给网格。这样,Itemrenderer将不再需要知道" order"的数据。他们的任务就是显示数据。
用户完成拖放操作后 - 更新地图,然后保留它。
希望这有帮助。
答案 1 :(得分:2)
如果使用ArrayCollection,则可以应用排序,然后调用arrayCollection.refersh()以使用sort刷新集合,然后将更新列表显示