2009-04-06 3 views
1

В Adobe Flex, когда пользователь нажимает и отпускает Мышь на заголовке столбца в Datagrid, вызывается соответствующая функция сортировки для столбца. Есть ли способ выяснить, когда происходит сортировка? В принципе, есть столбец «Серийный номер» в datagrid, , который я хочу перемаркировать, когда сортировка для определенного столбца происходит и останавливается.Flex Datagrid Sort Stopped Event

Мне это нужно, потому что: В моей таблице данных есть столбец года. Когда я отсортировать его, предположим, что есть 6 записей:

2008 
2008 
2008 
2009 
2009 
2009 

Я хочу мечение быть 1,2,3,1,2,3, т.е. маркировочные перезагружен после года изменений.

ответ

2

DataGrid в отправляет событие CollectionEvent.COLLECTION_CHANGE с его «доброй» собственностью, установленной в CollectionEvent.REFRESH после сортировки завершена. Просто получите dataProvider и добавьте обработчик событий, и все будет в порядке.

0

Сортировка не является асинхронным процессом, поэтому события не генерируются. Вы могли бы получить событие headerRelease, чтобы узнать, когда начнется сортировка.

0

Если вы хотите переделать столбец, почему бы вам не использовать функцию метки? и зачем вам это нужно, чтобы дождаться завершения сортировки?

0

Вы можете отключить сортировку по столбцу и добавить обработчик событий заголовка в DataGrid, который сортирует базовую коллекцию dataProvider «вручную» в ActionScript, а после обновления коллекции вызовет функцию для сброса текста заголовка столбца. Проверить эту ссылку для получения более подробной информации о переопределении функции сортировки: DataProvider

http://livedocs.adobe.com/flex/3/html/help.html?content=dpcontrols_7.html