在Flex中,我一直在处理水平列表中项目的拖放。它工作得很好,但现在我需要通过AMF在我的数据库中保存新订单。我很确定这很容易,但我还没有弄明白。
有没有办法循环(在重新排序后)所有的项目,以便我可以获得每个项目的(新)索引?
我注意到,即使我更改了顺序,dataProvider中的顺序也总是相同的……
这是我的清单:
<mx:HorizontalList id="horizontalList"
allowMultipleSelection="true"
allowDragSelection="true"
dragEnabled="true"
dropEnabled="true"
dragMoveEnabled="true"
labelField="lbl"
iconField="src"
itemRenderer="CustomItemRenderer_gallery"
columnCount="5"
columnWidth="125"
rowHeight="125"
horizontalScrollPolicy="on"
doubleClickEnabled="true"
click="{click(event);}"
dragDrop="handleBtnReorder(event)"
doubleClick="doubleClick(event);" />发布于 2009-12-18 06:24:44
我会循环遍历您拖拽项目到的列表dataProvider ...在循环时,将新订单(i)存储在填充dataProvider的ArrayCollection中的变量中...然后将ArrayCollection转换为要传递给服务器端进行处理的数组。
类似于:
for(var i:int = 0; i < yourList.dataprovider.length; i++)
{
yourList.dataProvider.getItemAt(i).order = i;
}
// then convert the ArrayCollection to an Array and pass to your RemoteObject.https://stackoverflow.com/questions/1923239
复制相似问题