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

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

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

Регистрация: May 2009
Сообщений: 3
По умолчанию Возможно ли параметризовать класс?

Вопрос возник при решении следующей задачи:
В DataGrid-е имеются две колонки в ячейках которых Renderer-ом отрисовываются кнопки Button.
На кнопках в ячейках каждого столбца отображены две разные иконки.
При нажатии на кнопку вызывается метод, который отображает форму для редактирования значений этой ячейки.
Так вот, возможно ли параметризовать класс передаваемый Renderer-у(описывающий кнопку, которая по щелчку вызывает метод) иконкой, которая будет отображаться на кнопке и методом, который будет вызываться по клику?
Например в С++, данный вопрос можно решить создав шаблон класса и парметризовав его иконкой и методом.
Помогите решить данный вопрос в ActionScript3.0 & XML.

Добавлено через 6 часов 48 минут
Может вопрос неудачно сформулирован?

Старый 25.05.2009, 18:53
Distorn вне форума Посмотреть профиль Отправить личное сообщение для Distorn Найти все сообщения от Distorn
  № 2  
Ответить с цитированием
Distorn

Регистрация: Aug 2005
Сообщений: 35
вообще-то вам в соседний раздел, а по существу:
можно задавать итем рендерер не только так:
Код AS3:
itemRenderer="com.MyRenderer"
но и так:
Код AS3:
<mx:itemRenderer>
	<mx:Component>
		<com:MyRenderer iconSource="bla-bla-bla.png"/>
	</mx:Component>
<mx:itemRenderer>
во втором случае можете передать как-раз-таки ваши параметры.
Event'ы аналогично, только обработчик прописывайте через outerDocument.

Старый 25.05.2009, 19:16
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 3  
Ответить с цитированием
Kuruki

Регистрация: Jan 2008
Сообщений: 669
Distorn, по-моему про флекс ни слова не было написано, к тому ваш код не отвечает на вопрос sgreek'a. Он пропишет один и тот же путь к каждому элементу данного столбца.

sgreek, можно. Только параметры передаются не в конструктор, а в сеттер data. Вам нужно описать либо свой сеттер, либо переписать соответствующий метод CellRenderer'a, если вы наследуетесь от него.

Код AS3:
public function set data(value:Object):void
{
     trace(value.iconSource);
}

Старый 26.05.2009, 11:00
sgreek вне форума Посмотреть профиль Отправить личное сообщение для sgreek Найти все сообщения от sgreek
  № 4  
Ответить с цитированием
sgreek

Регистрация: May 2009
Сообщений: 3
Спасибо Distorn за указанное направление, Ваш совет это как раз то, что нужно.
Kuruki предлагает хранить для каждого элемента списка ссылку на ресурс, это тоже вариант решения, но в контексте заданного вопроса не подходит.

Добавлено через 1 час 34 минуты
Задачу я решил. Как заметил Kuruki - используя Flex. Можно ли ответить на вопрос используя ActionScript (без Flex)?
И совсем не обязательно ссылаться на пример в вопросе.

Старый 26.05.2009, 16:26
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 5  
Ответить с цитированием
Kuruki

Регистрация: Jan 2008
Сообщений: 669
В чем проблема, непонятно. Рисуем в рендерере иконку, навешиваем на кнопку слушатель. Если нужно для каждого элемента свою, то смотрите код выше

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:34.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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