2009-08-26 56 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();