我有一个flex数据网格。它绑定到数组集合。如果用户在X列上排序,它可以正常工作。然后,如果用户导致数组集合发生更改,则datagrid会忘记它是在X列上排序的。
我需要做些什么才能保留此排序首选项,以便新的数组数据按X列排序?
答案 0 :(得分:3)
我在另一个论坛上发布了这个问题并得到了一个很好的答案。这是:
如果您的数据在ArrayCollections中,您可以将ListCollectionView分配给子AdvancedDataGrid的dataProvider属性,并将ArrayCollection数据分配给ListCollectionView的'list'属性。如果要更改子网格中的数据,请重新分配ListCollectionView的list属性。这样就可以避免直接重新分配子网格的dataProvider,这是导致网格重置的原因。
答案 1 :(得分:1)
真的有帮助,谢谢。但是,重置排序后,请不要忘记Refresh()
dataProvider
:
dataGrid.dataProvider.refresh();
答案 2 :(得分:0)
我有同样的问题,但没有知道为什么会这样,所以做了一些调整
selectedItems=dataGrid.selectedItems;
postionGrid=dataGrid.verticalScrollPosition;
sortPostionGrid=dataGrid.dataProvider.sort;
将它们存储在一个变量中,当数据被更改时,只需将其重新放在网格上,这不是一个好方法,但它对我有用
答案 3 :(得分:0)