Показать сообщение отдельно
Старый 27.10.2009, 17:01
nick_van_rijn вне форума Посмотреть профиль Отправить личное сообщение для nick_van_rijn Найти все сообщения от nick_van_rijn
  № 1  
Ответить с цитированием
nick_van_rijn

Регистрация: Feb 2009
Сообщений: 33
По умолчанию реализация ICellRenderer.setStyle

Подскажите пожалуйста... Необходимо реализовать кнопку в ячейке таблицы, и есс-но отрабатывать нажатия на них. Пишу рендерер столбца:
Код AS3:
 class MultiLineCellButton extends b2 implements ICellRenderer
, где b2 это класс моей кнопки.
Суть проблемы в том что пока я в конструкторе рендерера не напишу вот так:
Код AS3:
var originalStyles:Object = getStyleDefinition();
       setStyle("upSkin",originalStyles.upSkin);
        setStyle("downSkin",originalStyles.upSkin);
        setStyle("overSkin",originalStyles.upSkin);
        setStyle("selectedUpSkin",originalStyles.upSkin);
        setStyle("selectedDownSkin",originalStyles.upSkin);
        setStyle("selectedOverSkin",originalStyles.upSkin);
при отрисовке выдает следующее
Код AS3:
TypeError: Error #2007: Параметр child не должен быть равен нулю.
	at flash.display::DisplayObjectContainer/addChild()
	at fl.controls::DataGrid/drawList()
	at fl.controls::DataGrid/draw()
	at fl.core::UIComponent/callLaterDispatcher()
Cannot display source code at this location.
.
Путем долгих проб на рендерерах других стобцов выяснилось что пока все стили не установишь, компонент не отрисуется. Но тут проблема, я не могу найти в исходниках компонентов как выполнена реализация ICellRenderer.setStyle().... как быть дальше не пойму....