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

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

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

Регистрация: Aug 2008
Сообщений: 63
По умолчанию динамический 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; 10.02.2010 в 13:28.
Старый 16.02.2010, 02:20
kiraml вне форума Посмотреть профиль Отправить личное сообщение для kiraml Найти все сообщения от kiraml
  № 2  
Ответить с цитированием
kiraml

Регистрация: Aug 2008
Сообщений: 63
исправил..)

Код 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, время: 22:15.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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