Показать сообщение отдельно
Старый 05.02.2012, 00:47
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 6  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
c1.headerRenderer это ссылка на класс, а не на экземпляр хедера, поэтому и ругается
как 'легально' добраться до самого хедера не знаю, мутные эти компоненты, говорю же

если это чем-то поможет, то у меня вот так получилось расставить иконки
Код AS3:
var dg:DataGrid = new DataGrid();
dg.setSize(300, 100);
dg.addItem( { first:1, second:2, third:3 } );
dg.setStyle("headerRenderer", MyHeaderRenderer);
addChild(dg);
Код AS3:
public class MyHeaderRenderer extends HeaderRenderer
{
 
	public function MyHeaderRenderer()
	{
 
		// здесь _column не определена еще, поэтому делаем все в следующем такте
		addEventListener(Event.ENTER_FRAME, this_enterFrame);
	}
 
	private function this_enterFrame(e:Event):void
	{
		removeEventListener(Event.ENTER_FRAME, this_enterFrame);
		// массив классов иконок в библиотеке
		var icons:Array = [zag1, zag2, zag3];
		var iconClass:Class = icons[_column] as Class;
		if (iconClass)
		{
			icon = new iconClass();
			addChild(icon);
			invalidate();
		}
	}
}
зы. ну и какой смысл по каждому пустяку заниматься такими шаманством
хотя, возможно, я чего-то не догоняю и все делается просто и изящно..