2009-08-26 57 views
3

我有一個flex數據網格。它綁定到一個數組集合。如果用戶在列X上排序,它工作正常。那麼,如果用戶導致數組集合發生更改,則數據網格會忘記它已在列X上排序。Flex數據網格排序在數據提供者更改中未保留

我需要做些什麼來保留此排序首選項,以便新數組數據按列X顯示排序?

回答

0

我有同樣的問題但沒有KNW爲什麼發生這樣做了一些調整

selectedItems=dataGrid.selectedItems; 

postionGrid=dataGrid.verticalScrollPosition; 

sortPostionGrid=dataGrid.dataProvider.sort; 

它們存儲在一個變量,當數據被改變只是把再次對電網這是不是一個好的方法,但它爲我工作

3

我發佈了這個問題在另一個論壇上,並得到了很好的答案,運作良好。那就是:

如果你的數據是在ArrayCollections可以爲ListCollectionView分配給你的孩子AdvancedDataGrid的dataProvider屬性和你的ArrayCollection數據分配到的ListCollectionView的「列表」屬性。如果要更改子網格中的數據,請重新分配ListCollectionView的列表屬性。這樣可以避免直接重新分配子網格的dataProvider,這是導致網格重置的原因。

這裏的鏈接後: http://forums.adobe.com/message/2206736#2206736

+0

這工作得很好。 – 2010-01-12 20:31:48

1

真正幫助,謝謝。但是不要忘了Refresh()dataProvider一旦你重新排序:

dataGrid.dataProvider.refresh();