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

问题描述 投票:2回答:1

我有一个数据网格,数据提供者中的数据每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>
flex actionscript mxml
1个回答
2
投票

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

你可以:

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