Гибкая сортировка сетки данных не сохраняется при изменениях поставщика данных - PullRequest
3 голосов
/ 27 августа 2009

У меня есть гибкая сетка данных. это связано с коллекцией массивов. если пользователь сортирует по столбцу X, он работает нормально. затем, если пользователь вызывает изменение массива, сетка данных забывает, что она была отсортирована по столбцу X.

что мне нужно сделать, чтобы сохранить предпочтения сортировки, чтобы новые данные массива были отсортированы по столбцу X?

Ответы [ 4 ]

3 голосов
/ 28 августа 2009

Я разместил этот вопрос на другом форуме и получил хороший ответ, который работал хорошо. Вот оно:

Если ваши данные находятся в ArrayCollections, вы можете назначить ListCollectionView для свойства dataProvider вашего дочернего элемента AdvancedDataGrid и назначить свои данные ArrayCollection для свойства list в ListCollectionView. Если вы хотите изменить данные в дочерней сетке, переназначьте свойство list ListCollectionView. Таким образом, вы избегаете переназначения dataProvider дочерней сетки, что приводит к сбросу сетки.

вот ссылка на пост: http://forums.adobe.com/message/2206736#2206736

1 голос
/ 30 января 2011

Это действительно помогло, спасибо. Но не забудьте Refresh() dataProvider после сброса сортировки:

dataGrid.dataProvider.refresh();
0 голосов
/ 27 июля 2011

Эта запись " Сохранение сортировки в таблице данных при изменении dataProvider " дает

более актуальное и эффективное решение, которое вы ищете

Надежды, которые помогают

0 голосов
/ 27 августа 2009

У меня такая же проблема, но я не знал, почему это происходит, поэтому сделал некоторые настройки

selectedItems=dataGrid.selectedItems;

postionGrid=dataGrid.verticalScrollPosition;

sortPostionGrid=dataGrid.dataProvider.sort;

хранить их в переменной, и когда данные меняются, просто добавьте их снова в сетку, это не очень хороший подход, но он работал для меня

...