Показать сообщение отдельно
Старый 19.09.2009, 00:43
chabapok вне форума Посмотреть профиль Отправить личное сообщение для chabapok Найти все сообщения от chabapok
  № 3  
Ответить с цитированием
chabapok

Регистрация: Jul 2009
Сообщений: 240
Записей в блоге: 1
Да, я уже понял, что не получится.На то оно и Column, что задает всю колонку по одному образцу.

Это нужен mx:VBox и обьекты надо добавлять туда. Он может содержать разные обьекты. Я даже попробовать успел - не работает Но все равно VBox - это правильней

теперь у меня так:
Код AS1/AS2:
<mx:VBox id="myVbox" creationComplete="myVboxConfListeners()"/>
...
private function myVboxConfListeners():void{
	bookmarkEvent.dispatcher.addEventListener(bookmarkEvent.AddBookmark,
		function(ev:*=null):void{
			myVbox.addChild(bookmarkEvent.data );
		}
	);
}
Код AS1/AS2:
public class bookmarkEvent{
	public static const AddBookmark:String="addBkmrkEvent";
 
	public static var dispatcher:EventDispatcher=new EventDispatcher();
	public static var data:*;
 
	public static function newBkmrk(obj:*):void{
		data=obj;
		dispatcher.dispatchEvent(new Event(AddBookmark) );
	}
Вызывается так:
Код AS1/AS2:
<mx:Image 	click="{ bookmarkEvent.newBkmrk(this) }"
При этом выскакивает ошибка.
Код AS1/AS2:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
	at mx.controls.dataGridClasses::DataGridBase/itemRendererToIndices()[C:\autobuild\galaga\frameworks\projects\framework\src\mx\controls\dataGridClasses\DataGridBase.as:2679]
	at mx.controls.listClasses::ListBase/mouseOverHandler()[C:\autobuild\galaga\frameworks\projects\framework\src\mx\controls\listClasses\ListBase.as:8788]
Cам myVbox у меня на другой вкладке TabNaviigator-а, нежели объект, который добавляет себя. Кстати, несмотря на ошибку, обьект появляется на той вкладке, только почему-то он туда переносится из текущей. Надо его как-то клонировать, видимо. Видимо и ошибка поэтому возникает.

Добавлено через 1 час 20 минут
вобщем он не клонируется
я пробовал его клонировать через ByteArray - не получается.
пробовал через mx.utils.objectUtil.copy - тоже не вышло

попробовал в обьекте, который себя добавляет, определить функцию

Код AS1/AS2:
public function clone() : person{var p:person= new person(); return p;	}
получилось, но свойства нового обьекта настроить не получается. Как только я пытаюсь настраивать комбобоксы и текстарии в переменной p -- вылетает ошибка "Не удается вызвать свойство или метод со ссылкой на объект "null".

Добавлено через 1 час 48 минут
проблема наверное в том, что компонент, который я хочу добавить "в закладку" является не полноценным компонентом, а itemRenderer-ом. У него свойства прописаны как text="{data.name}". Может, поэтому не получается. хз