Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   ArrayCollection.refresh() (http://www.flasher.ru/forum/showthread.php?t=155849)

ALEX666 11.05.2011 15:52

ArrayCollection.refresh()
 
Здравствуйте! Есть ArrayCollection, являющийся датапровайдером для DropDownList. Нужно отсортировать его по алфавиту (ну или хоть как-нибудь):
Код AS3:

components = new ArrayCollection();
var screensMediator:IScreensMediator = appFacade.screensMediator;       
var comps:Object = screensMediator.current.components
for (var id:String in comps) {
        // if component supports events and is not part of some template
        if((comps[id] as IBaseComponent).getBean().supportedEventTypes && !(comps[id] as BaseComponent).freezed) {
                components.addItem((comps[id] as IBaseComponent).getBean());       
        }                                       
}
 
var sort:Sort = new Sort ();
sort.fields = [new SortField("name")]; 
components.sort = sort;
components.refresh();
}

sort.fields = [new SortField()]; - так тоже пробовала
на строке components.refresh(); всё виснет! Может есть у кого мысли почему??
Может есть другой способ отсортировать коллекцию?

Волгоградец 11.05.2011 16:56

Код верный - по крайней мере то, что связано с Sort. Виснет или ошибку кидает? Если виснет - то может коллекция ОГРОМНАЯ?
Можно сортировать массив, а потом этот массив скармливать датапровайдеру...

ALEX666 11.05.2011 17:08

Ошибок никаких нет, просто тупо виснет и всё, и ничего ни сделать, ни нажать...
А можно поподробнее насчёт массива? В смысле как скормить, понятно, а вот как его получить и отсортировать по алфавиту? ArrayCollection должен остаться

Волгоградец 11.05.2011 17:12

Странно. Сомневаюсь, но уточню - в дебаг плеере открываешь?
По поводу массива - в цикле добавлять элементы не в коллекцию, а в массив. Этот массив сортировать методами sort или sortOn.

ALEX666 11.05.2011 17:24

Да, плеер дебажный.

Добавлено через 5 минут
всё, спасибо за помощь! Обновила проект и всё заработало, значит всё было верно!


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

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