Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 15.03.2010, 12:09
sir_graf вне форума Посмотреть профиль Отправить личное сообщение для sir_graf Найти все сообщения от sir_graf
  № 1  
Ответить с цитированием
sir_graf

Регистрация: Jun 2005
Сообщений: 8
По умолчанию Сортировка DataGrid с помощью sortCompareFunction

В начале всё просто - имеется DataGrid с определенным числом колонок с данными. Данные есть числовые, текстовые, а есть комбинированные, например "Возраст": "18-65".
Для каких колонок необходимо иметь 2 возможные сортировки: по минимальному значению (18) или максимальному (65)
Для корректной сортировки таких я написал обработчик. Для того, чтобы определить по какому значению сортировать, имеются 2 checkBox-а: мин и макс соответственно
Код AS3:
		function aaa(a:Object,b:Object):int {
 
 
			switch (dg1.getColumnAt(dg1.sortIndex).headerText) {
				case "Возраст" :
					if (age_min.selected) {
						var i=sort_chooser(a["Возраст"].split("-")[0],b["Возраст"].split("-")[0]);
					} else if (age_max.selected) {
						i=sort_chooser(a["Возраст"].split("-")[1],b["Возраст"].split("-")[1]);
					} 
					break;
				default :
					i=sort_chooser(a[dg1.getColumnAt(dg1.sortIndex).headerText],b[dg1.getColumnAt(dg1.sortIndex).headerText]);
					break;
			}
			return i;
		}
Здесь шаблонная функция непосредственного сравнения
Код AS3:
		private function sort_chooser(a:int,b:int):int {
					if (a>b) {
						return 1;
					} else if (a == b) {
						return 0;
					} else {
						return -1;
					}
		}
Сортировка работает. Но задумка более сложная. Хочу сделать многоуровневую сортировку, как sortOn([1,2,...,n],[1,2,...,n]).
В связи с этим появилось несколько вопросов. Как отловить событие окончания сортировки в столбце после отработки пользовательского sortCompareFunction? Как ни пытался, ничего не получилось.
Есть ли другие варианты осуществить задуманное?


Последний раз редактировалось sir_graf; 15.03.2010 в 13:56.
Создать новую тему   Часовой пояс GMT +4, время: 22:01.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 22:01.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.