3

我有一个弹性数据网格。它绑定到一个数组集合。如果用户在 X 列上排序,它工作正常。然后,如果用户导致数组集合发生变化,数据网格会忘记它是在 X 列上排序的。

我需要做些什么来保留此排序首选项,以便新的数组数据按 X 列排序?

4

4 回答 4

3

我在另一个论坛上发布了这个问题,并得到了一个很好的答案。这里是:

如果您的数据在 ArrayCollections 中,您可以将 ListCollectionView 分配给您的子 AdvancedDataGrid 的 dataProvider 属性,并将您的 ArrayCollection 数据分配给 ListCollectionView 的“list”属性。当您要更改子网格中的数据时,请重新分配 ListCollectionView 的列表属性。这样可以避免直接重新分配子网格的 dataProvider,这就是导致网格重置的原因。

这是帖子的链接: http ://forums.adobe.com/message/2206736#2206736

于 2009-08-28T13:57:31.093 回答
1

这真的很有帮助,谢谢。但是不要忘记一旦你重置了排序Refresh()dataProvider

dataGrid.dataProvider.refresh();
于 2011-01-29T21:37:49.097 回答
0

我有同样的问题,但不知道为什么会这样,所以做了一些调整

selectedItems=dataGrid.selectedItems;

postionGrid=dataGrid.verticalScrollPosition;

sortPostionGrid=dataGrid.dataProvider.sort;

将它们存储在一个变量中,当数据发生更改时,只需将其再次放在网格上,这不是一个好方法,但它对我有用

于 2009-08-27T05:06:00.537 回答
0

这篇文章“在更改 dataProvider 时保持对数据网格的排序”给出

更相关和更有效的解决方案您正在寻找什么

希望有帮助

于 2011-07-27T10:48:38.777 回答