AS3, Flash CS4: Добавляем картинку в ячейку DataGrid
Вложений: 1
Не первый раз вижу в форуме по этой теме в качестве ответа ссылку на какой-то PictureInDataGrid.rar. Странно, что никто до сих пор не возмутился. Приводимый пример ужасен для рассмотрения. Комментариев нет, логика запутанная, а именование переменных вида "sp", "cl", "s", "dp" вообще доводит до бешенства.
Простая задача размещения рисунка в ячейке DataGrid подана в виде какого-то бредового кошмара. Поэтому для всех нуждающихся привожу пример. 1. Добавляем на сцену картинку, например moneySmall.png. В свойствах (Properties) устанавливаем "Export for ActionScript" с именем MoneySmallIcon. 2. Добавляем на сцену компонент DataGrid (перетягиваем мышкой). Если этого не сделать - получим кучу глюков. С самой сцены удаляем его, в библиотеке остаётся набор нужных объектов. У меня был случай, когда неосторожным движением удалил какой-то из этих объектов. Очень трудно потом восстанавливать. 3. В ACTIONS - FRAME (к своим классам применить это же нетрудно) пишем скрипты. Код AS3:
Код AS3:
|
Огромное спасибо за подробное описание.
|
Цитата:
Код AS3:
Я его в прошлом году за 10 мин написал, (почти все из хелпа скопипастено), как бы подсказка, Star это рисунок в библиотеке, еще есть Pricolo задний фон ячейки. О чем можно было догадаться запустив по ctrl+enter http://murmadillo.tut.su/m/pricolo-table.jpg Насчет переменных в классах в которые лезть, я думал что никто не будет. "sp", "cl", "s", "dp" sp - спрайт cl - var cl:Class; s - строка dp дата провайдер Тк. выше перечисленное используется в одном экземпляре, комметировать оное смысла не вижу. |
Alex Lexcuk, помимо основного кода, там присутствует ещё 2 класса, смысл которых в такой простой задаче (я про MyDatObj.as) весьма загадочный. Для того, чтобы проследить логику - нужно здорово покурить кальянчику...
Добавлено через 7 минут Alex Lexcuk, приведу несколько замечаний: 1. Добавление обычной графики как MovieClip является избыточным. 2. Класса MyDatObj.as там вообще не нужен, можно было вполне обойтись без него. 3. Некие свойства visio, texObj и загадочные манипуляции с ними в перемешку с кучей ненужных trace навевают на мысль удерживать Backspace, пока не полегчает. 4. И вообще, то что твориться в listData() в MyRenderer.as (впрочем как и в set data())— интересно рассматривать в клубах экстремального программирования, но никак не рекомендовать начинающим. |
Цитата:
|
Прошу переименовать тему в "добавляем фон на столбец Datagrid". Вводит в заблуждение.
[Вырезано цензурой] четыре часа про[вырезано цензурой]ся, пока понял, что произвольные картинки, меняющиеся от строки к строке нельзя этим способом проставить. |
Как же вы не хотите мыслить шире... почему нельзя ? ваш рендер который вы установили, не в качестве рендера текста как было сказано выше, а в качестве рендера ячейки как таковой
Так подумайте на раз, два, три, как в СВОЕМ классе поставить нужную картинку нужной ячейки ? Даю подсказку - под каждую ячейку в фабрике создается отдельный экземпляр вашего рендер класса ... |
KIVagant, то, что вы привели ни чем не лучше примера, который вы осудили.
Ваша версия идет полностью вразрез с концепцией программирования UIComponent'ов. |
вы бы уж определилсь: в кадрах пишите или в классах.
|
Цитата:
Только заметил некоторую особенность при переназначении свойства listData - оно определяется каждый раз при клике на ячейке. Чтобы этого избежать можно переназначать вместо него свойство data: Код AS3:
|
Часовой пояс GMT +4, время: 18:26. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.