Flex 3 MX列表:需要以编程方式重新排序列表的项目渲染器

时间:2014-05-05 15:14:38

标签: list flex flex3

好的,我必须使用Flex 3,因为我在Adobe Connect pod中使用它。我有一个List组件,可以通过拖放重新排序。如果有人离开浏览器并回到会议室,我正试图重新显示他们如何通过拖放订购商品。所以我需要一种方法来重新排序列表。我正在研究dataProvider上的Arrays排序。但是我无法找出适当的事件来对列表进行一次排序,所有项目都有适当的数据。

在任何情况下,有没有人知道如何告诉itemRenderer的数据有订购值,然后告诉列表根据新值重新排序列表中的项目?

2 个答案:

答案 0 :(得分:2)

我使用的一种可能方式:

使用key:value,Object {rowIndex:rowData}

将数据保存在Object(map)中

e.g。 {1:row1Data,       2:row2Data,...}

根据键准备列表值,然后将其分配给网格。这样,Itemrenderer将不再需要知道" order"的数据。他们的任务就是显示数据。

用户完成拖放操作后 - 更新地图,然后保留它。

希望这有帮助。

答案 1 :(得分:2)

如果使用ArrayCollection,则可以应用排序,然后调用arrayCollection.refersh()以使用sort刷新集合,然后将更新列表显示