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