Flex Примеры, Adobe Flex, Флекс

Изучаем Flex. Примеры, статьи, рецепты …


Как сохранить сортировку в DataGrid при изменении DataProvider (Flex)

Как сохранить пользовательскую сортировку после обновления данных в Datagrid при помощи события mx.events.CollectionEvent.COLLECTION_CHANGE и свойства sort ArrayCollection

View CodeACTIONSCRIPT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
//Установим слушателя события COLLECTION_CHANGE
dataGrid.addEventListener(mx.events.CollectionEvent.COLLECTION_CHANGE, onDataGridDataChange, false, 0, true);
 
private var currentSort:mx.collections.Sort;
 
private function onDataGridDataChange(evt:CollectionEvent):void
{
 
                //получим ссылку на данные
                var ac:ArrayCollection = dataGrid.dataProvider as ArrayCollection;
                //установим слушателя на событие изменения коллекции
                ac.addEventListener(CollectionEvent.COLLECTION_CHANGE, onCollectionChanged,false,0,true);
 
                //если сортировка была до изменения данных, установим ее
                if (currentSort != null)
                {
                    ac.sort = currentSort;
                    ac.refresh();
                }
 
}
 
private function onCollectionChanged(evt:CollectionEvent):void
{
 
	if (evt.kind == CollectionEventKind.REFRESH)
	{
		var ac:ArrayCollection = evt.currentTarget as ArrayCollection;
                       //запомним текущую сортировку
		currentSort = ac.sort;
 
	}
 
}

Оригинал решения

0 Отзывов на “Как сохранить сортировку в DataGrid при изменении DataProvider (Flex)”


  1. Нет комментариев

Оставить отзыв