сохранить мой вид после обновления данных поставщика данных - PullRequest
2 голосов
/ 24 апреля 2019

У меня есть сетка данных, в которой данные в поставщике данных изменяются каждые 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>

1 Ответ

2 голосов
/ 25 апреля 2019

Предположение ... Порядок сортировки сохраняется в dataProvider (ArrayCollection) и теряется при повторном назначении нового dataProvider.

Вы можете либо:

  • обновить dataProvider, используя функции обновления ArrayCollection, вместо переназначения

  • , если это невозможно, получить ISort от dataProvider перед его изменением; затем примените этот ISort к новому dataProvider после загрузка (и не забудьте обновить () dataProvider)

...