在更新dataprovider的数据后保持我的排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在更新dataprovider的数据后保持我的排序相关的知识,希望对你有一定的参考价值。

我有一个数据网格,数据提供者中的数据每30秒自动更改一次。每当它发生时,如果我选择通过单击标题对列进行排序,它将恢复为默认排序(在我单击标题之前)。我想知道如何控制排序,这样如果我之前点击它,它将在接下来的30秒内保持排序。

<mx:DataGrid id="id" width="100%" height="100%">
                        <mx:columns>
                            <mx:DataGridColumn dataField="@col1" headerText="Type1" itemRenderer="itemRenderer" />
                            <mx:DataGridColumn dataField="@col2" headerText="Type2" itemRenderer="itemRenderer" />
                        </mx:columns>
                        <mx:dataProvider>
                            {xmllist_extractedfromAnotherSourceEvery30Seconds}
                        </mx:dataProvider>
</mx:DataGrid>
答案

猜测......排序顺序存储在dataProvider(ArrayCollection)中,当您重新分配新的dataProvider时它会丢失。

你可以:

  • 使用ArrayCollection更新函数更新dataProvider,而不是重新分配它
  • 如果不可能,get the ISort来自dataProvider之前更改它;然后在加载后将此ISort应用于新的dataProvider(并记住刷新()dataProvider)

以上是关于在更新dataprovider的数据后保持我的排序的主要内容,如果未能解决你的问题,请参考以下文章

如果列不断更新,MongoDB 如何保持索引的数字列始终排序?

创建QGis的自定义DataProvider

AmCharts 对数据排序后展示

yii2 数据提供者 dataProvider

在 ActionScript 中刷新数据网格时保持选择

在 dataProvider react-admin 中使用 dispatch