Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   динамический ComboBox проблема с отображением текста labelFunction (http://www.flasher.ru/forum/showthread.php?t=136115)

kiraml 10.02.2010 13:26

динамический ComboBox проблема с отображением текста labelFunction
 
Здравствуйте, такая проблема, существует два созданных динамических comboBox-а
один зависит от другого. Вот такой код.
Код AS3:

public class Categories extends ComboBox{
    public function Categories():void{
        super();
        addEventListener(Event.CHANGE, nextSubCategories);
    }
 
    public function nextSubCategories(e:Event):void{
          dispatchEvent(new PictureEvents(PictureEvents.SELECT_CATEGORY, selectedItem.id));
    }
 
    public function setDataProvider(value:Array):void{
        dataProvider = value;
        this.labelFunction = comboBox_labelFunc;
    }
 
            private function comboBox_labelFunc(item:Object):String {
                return (item.name);
        }
 
 
 
}

Код AS3:

public class SubCategories extends ComboBox{
 
        public function SubCategories():void{
            super();
            this.labelFunction = comboBox_labelFunc;
        }
public function updateCategories(_value:Array):void {
        dataProvider = _value;
        dispatchEvent(new PictureEvents(PictureEvents.SELECT_SUBCATEGORY, selectedItem.id));
                }
 
            private function comboBox_labelFunc(item:Object):String {
                return (item.name);
        }
}

создание и вызов функций:
Код AS3:

public function setCategories():void{
var categories:Categories = new Categories();
....
categories.addEventListener(PictureEvents.SELECT_CATEGORY, changeCategory);
var subCategories:SubCategories = new SubCategories();
}
private function changeCategory(e:PictureEvent):void{
      subCategories.updateCategories(_images[categories.selectedIndex].subCategory);
}

Проблема в следующем, когда я выбрал один элемент в ComboBox "Categories" во втором combobox отображаемые элементы должны изменится на новые, но этого не происходит, изменяется первый отображаемый элемент списка на нужный, а остальные остаются теми же что и были прежде, но когда я нажимаю допустим на пятый элемент второго combobox(SubCategories) его текст становится нужным, и распознает его как нужный обьект. Проблема лишь в отображении правильного текста во втором комбобоксе. Подскажите как это исправить .

kiraml 16.02.2010 02:20

исправил..)

Код AS3:

private function changeCategory(e:PictureEvents):void {
                subCategoryes.removeEventListener(PictureEvents.ANIMATION_MENU_COMPLETE, pipeth);
                        subCategoryes.removeEventListener(PictureEvents.SELECT_SUBCATEGORY, loadImage);
                        removeChild(subCategoryes);
                        subCategoryes = null;
 
                        subCategoryes = new SubCategories(this, 28 + 228 + 10, 129, 228, 34);
                        subCategoryes.setCategories(_images[categoryes.selectedIndex].subCategory);
                        subCategoryes.selectedIndex = 0;
                        addChild(subCategoryes);
                        loadImage(new PictureEvents(e.type));                       
                        subCategoryes.addEventListener(PictureEvents.ANIMATION_MENU_COMPLETE, pipeth);
                        subCategoryes.addEventListener(PictureEvents.SELECT_SUBCATEGORY, loadImage);
                }

других вариантов ненайдено :(((


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

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