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

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

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

Регистрация: Feb 2012
Сообщений: 10
По умолчанию Непонятки c Event от List и itemrenderer

Собственно у меня сразу 2 вопроса по эвентам.
1.
Код:
<s:List id="list" dataProvider="{FileList}" labelField="name" change="changeFile()"/>
Тут у меня в List загружается список выбранных файлов. Проблема возникает если файлы добавлять в FileList по одному, тогда почему то получается что change будет работать только для тех, полей, которые были добавлены в первый раз, а те, которые были добавлены после не вызывают это событие. Как сделать красиво чтобы эвент реагировал и на новые поля?
2. Есть itemRenderer такого содержания
Код:
<mx:List id="IDList"  dataProvider="{subscribers}" mouseChildren="false" >
     <mx:itemRenderer>
			<fx:Component>
				<mx:HBox>
				<mx:Image source="source" click=??? />
				<s:Label  width="100%" text="{data.name}" fontSize="12" />
				</mx:HBox>
			</fx:Component>
     </mx:itemRenderer>
</mx:List>
Как бы мне создать действие, и соответственно слушателя, чтобы получать событие от конкретного элемента itemRenderer в выбранном поле List ?

Добавлено через 19 часов 18 минут
По первому вопросу разобрался, там у меня был косяк в функции changeFile()
По второму вопросу частично выкрутился вот так
Код:
<s:Image id="img" source="star_256.png"  width="30" height="30">
	 <s:click>
		<![CDATA[
	         Alert.show(data.label);
		]]>
	</s:click>
</s:Image>
Это конечно не то, спасут меня addEventListener и dispatchEvent, но не понятно вот что. Как мне изменить свойства выбранного элемента? К примеру изменить видимость картинки в выбранном itemRenderer по клику?

Старый 29.03.2012, 03:29
flaM вне форума Посмотреть профиль Отправить личное сообщение для flaM Найти все сообщения от flaM
  № 2  
Ответить с цитированием
flaM

Регистрация: Mar 2008
Сообщений: 8
Не очень еще привык к spark, но вообще-то всегда обработчик вешался не на item, а на List, и событие не click, а change с полями newIndex и oldItem.

А что касается видимости картинки в отдельно взятом item'е, то наверное, смотреть нужно в сторону свойства skinClass этой картинки (s:Image) внутри ItemRenderer. Соответственно, придется написать шкуру для этой картинки, расширив s:Skin, где определить состояние в котором картинка будет невидима. Ну и как-то задавать стейты пунктам...

Старый 04.04.2012, 05:17
djyamato вне форума Посмотреть профиль Отправить личное сообщение для djyamato Посетить домашнюю страницу djyamato Найти все сообщения от djyamato
  № 3  
Ответить с цитированием
djyamato
 
Аватар для djyamato

Регистрация: Feb 2006
Сообщений: 884
Записей в блоге: 2
Отправить сообщение для djyamato с помощью ICQ Отправить сообщение для djyamato с помощью Skype™
Добавлено через 21 минуту
Цитата:
Сообщение от BerkutSoft Посмотреть сообщение
К примеру изменить видимость картинки в выбранном itemRenderer по клику?
В рендерере
Код AS3:
<fx:Script>
<![CDATA[
 
// это в List пользователь нажал на элемент
override public function set selected(value:Boolean):void
{
 
  super.selected=value;
  if(value)
  }
     // делаем с картинкой что-либо
  }
  else
  {
     // делаем с картинкой что-либо
  }
}
]]>
</fx:Script>
Добавлено через 28 минут
Цитата:
Сообщение от BerkutSoft Посмотреть сообщение
Как мне изменить свойства выбранного элемента? К примеру изменить видимость картинки в выбранном itemRenderer по клику?
Элемент (имеется ввиду itemRenderer, верно же ?) сам должен решать как себя вести и какой внешний вид принимать в зависимости от пришедших в него данных
Не пытайтесь управлять itemRenderer-ами снаружи, Вы только усложните себе жизнь

Вы это читали ?
http://drodionov.narod.ru/flex/ir/itemrenderer01.html
http://drodionov.narod.ru/flex/ir/itemrenderer02.html
http://drodionov.narod.ru/flex/ir/itemrenderer03.html
http://drodionov.narod.ru/flex/ir/itemrenderer04.html


Последний раз редактировалось djyamato; 04.04.2012 в 05:46.
Создать новую тему Ответ Часовой пояс GMT +4, время: 22:23.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
event , itemrenderer , list
Опции темы
Опции просмотра

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

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


 


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


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