更新数据提供者的数据后保持我的排序
keep my sort after updating the dataprovider's data
我有一个数据网格,其中数据提供程序中的数据每 30 秒自动更改一次。每次出现时,如果我选择通过单击 header 对列进行排序,它将恢复为默认排序(在我单击 header 之前)。我想知道如何控制排序,以便如果我之前点击过它,它会在接下来的 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)
我有一个数据网格,其中数据提供程序中的数据每 30 秒自动更改一次。每次出现时,如果我选择通过单击 header 对列进行排序,它将恢复为默认排序(在我单击 header 之前)。我想知道如何控制排序,以便如果我之前点击过它,它会在接下来的 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)