2011-06-20 44 views
1

我有一個ListCollectionView包裝的(空)ArrayCollection。 然後我向ArrayCollection添加一系列的項目,但是這些沒有顯示在視圖中。爲什麼我的listCollectionView不能將新項目添加到底層列表(在flex中)?

public var transactions : ArrayCollection = new ArrayCollection(); 
public var filteredTransactions : ListCollectionView = new ListCollectionView(transactions); 

transactions包含150項,filteredTransactions不含有。我原本以爲這是我正在申請的過濾器,但即使當我刪除過濾器,我仍然沒有在過濾列表中的項目。

我錯過了一步嗎? 我是否需要將項目添加到視圖以及底層集合(這似乎打敗了使用視圖的目的,儘管...)?

+0

你明白,ArrayCollection擴展ListCollectionView,對嗎?爲什麼你需要在ListCollectionView中包裝一個ArrayCollection? –

+0

因爲我有一個集合用於所有交易(我需要單獨維護),然後我需要一個視圖來顯示有多少匹配特定的條件。 – RodeoClown

+0

那麼ListCollectionView提供了一個ArrayCollection不提供的功能呢?你想克隆ArrayCollection? –

回答

1

如果您不使用addAll,addItem或addItemAt將項目放入ArrayCollection,請先嚐試將其作爲解決方案。直接將項目添加到ArrayCollection包裝的數組不會派發CollectionEvents。

此外,嘗試在將其列表屬性設置爲ArrayCollection之後使用ListCollectionView的refresh()方法。

如果這些解決方案都不起作用,請發佈其他代碼。

+0

謝謝你 - 我發現代碼庫中的其他地方引用了原始列表並替換它(grrr)...現在替換爲addAll(),它完美地工作。 – RodeoClown

相關問題