【问题标题】:Flex datagrid sorting not preserved across dataprovider changes跨数据提供者更改未保留 Flex 数据网格排序
【发布时间】:2009-08-26 20:44:41
【问题描述】:

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

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

【问题讨论】:

    标签: apache-flex data-binding datagrid sorting dataprovider


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      dataGrid.dataProvider.refresh();
      

      【讨论】:

        【解决方案3】:

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

        selectedItems=dataGrid.selectedItems;
        
        postionGrid=dataGrid.verticalScrollPosition;
        
        sortPostionGrid=dataGrid.dataProvider.sort;
        

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

        【讨论】:

          【解决方案4】:

          这篇文章“Keeping the sort on a datagrid when you change the dataProvider”给出了

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

          希望有帮助

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2019-09-13
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-11-18
            • 2011-10-21
            • 2017-07-30
            • 1970-01-01
            相关资源
            最近更新 更多