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