我正在嘗試在使用addItemAt()進行排序和過濾的arraycollection中添加一個項目。 但addItemAt()不會將項目添加到指定的索引。 有誰知道上述問題的解決方案。arraycollection的AddItemAt()在flex中不起作用
回答
我試圖在ArrayCollection中添加一個項目被分類和過濾
如果集合進行排序,當你添加一個新的項目,以它的過濾器會自動刷新。因此,您添加項目的索引可能不是您的項目結束的索引。這完全取決於排序算法。
您可以刪除排序以在您指定的索引處鎖定新項目。關閉我的頭頂,這樣做:
arrayCollection.sort = null;
arrayCollection.refresh();
我敢肯定,同樣的概念也適用於過濾。如果將某個過濾器應用於集合,則新項目需要與過濾條件相匹配,否則在刪除過濾器之前它不會顯示在集合中。
但是在刪除過濾器函數時,arraycollection恢復了我爲其添加了過濾器函數的完整數據。您可以給我解決方案。 – monica
這是預期的行爲。 – JeffryHouser
addItemAt() is adding item to the specified index.
*例如: *
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
[Bindable]
private var myArray:ArrayCollection= new ArrayCollection([
{student:'one',subject:'2'},
{student:'two',subject:'4'},
{student:'three',subject:'5'},
{student:'four',subject:'6'}
]);
protected function addArrayCollectioninRuntime(event:MouseEvent):void
{
myArray.addItemAt({student:nameTxtinput.text,subject:subjectTxtinput.text},3);
}
]]>
</fx:Script>
<s:layout>
<s:VerticalLayout/>
</s:layout>
<s:Form>
<s:FormItem label="Student Name :">
<s:TextInput id="nameTxtinput"/>
</s:FormItem>
<s:FormItem label="Student Subject :">
<s:TextInput id="subjectTxtinput" />
</s:FormItem>
<s:Button label="Submit" click="addArrayCollectioninRuntime(event)"/>
</s:Form>
<mx:DataGrid dataProvider="{myArray}" id="dGrid" >
<mx:columns>
<mx:DataGridColumn dataField="student" id="stud"/>
<mx:DataGridColumn dataField="subject" id="sub"/>
</mx:columns>
</mx:DataGrid>
問題是AddItemAT不適用於已過濾的列表。 – monica
我只Flex 3中,並用一個有序的ArrayCollection有類同這是一個問題。如果你搜索,你會發現addItemAt不能用於排序的ArrayCollection(並且不會過濾?不知道)。該項目將根據排序標準添加。
但是,我需要一個有序的ArrayCollection(阿爾法),在頂部的「全選」選項,所以這是我是如何進行的:
數組可以很容易地(的Array.sort)排序,所以我首先創建一個數組。然後我打開了ArrayCollection並添加了ArrayCollection中我希望對該數組進行排序的項目。然後對這個新數組進行排序。
新排序的數組已循環並在此循環中ArrayCollection再次循環。如果在排序的項目上找到匹配項,我將此對象添加到新的ArrayCollection中,但也創建了一個名爲「sortOrder」的對象的新屬性,該屬性被設置爲循環計數。
接下來創建「全選」對象並將其sortOrder設置爲-1。
最後,數組排序是在ArrayCollection和Voila的sortOrder字段上創建的,它工作正常。
也許有人有一個更優雅的解決方案,但我很匆忙,它的工作有助於它。
希望這可以幫助別人。
- 1. Flex - 在ArrayCollection中的光標搜索不起作用
- 2. AMFPHP在Flex中爲ArrayCollection工作
- 3. Flex:另一個ArrayCollection中的arrayCollection?
- 4. 綁定到arraycollection不起作用
- 5. flex中的ArrayCollection問題
- 6. 陣列與Flex中的ArrayCollection
- 7. Flex中的ArrayCollection問題
- 8. Adobe Flex arraycollection
- 9. ArrayCollection上的Flex-Sorting
- 10. 在Flex DataGrid中,如何使用ArrayCollection作爲XML文件的dataProvider?
- 11. Flex 4 headerWordWrap在AdvancedDataGridColumn中不起作用
- 12. Flex CSS在IE中不起作用11
- 13. Flex框在Safari 5.1中不起作用
- 14. Flex Arraycollection過濾器
- 15. Flex ArrayCollection:RemoveAll()vs new ArrayCollection
- 16. setStyle backgroundImage在Flex動作不起作用
- 17. Flex和Flex-wrap包裝不起作用?
- 18. Flex綁定不起作用
- 19. -moz-box-flex不起作用
- 20. flex crossdomain不起作用
- 21. 計算不起作用 - flex
- 22. Array和ArrayCollection的區別(Flex)
- 23. 在Flex 4.5中將ArrayCollection轉換爲ArrayLIst?
- 24. Flex - 在ArrayCollection中搜索部分詞
- 25. 顯示:flex和flex-wrap:換行不起作用在Internet Explorer中
- 26. Vertical-align在flex項上不起作用
- 27. 的Flex - 使用JavaScript產生一個ArrayCollection
- 28. ArrayCollection與FLEX中的矢量對象
- 29. 合併兩個ArrayCollection中 - 的Flex
- 30. 移動ArrayCollection中的元素 - FLEX
提供一些代碼。沒有一個例子,我們不能提供幫助。 – dtuckernet
你有一些過濾功能的數組集合? – midhunhk