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

Регистрация: Jul 2009
Сообщений: 240
Записей в блоге: 1
По умолчанию Как сделать динамический ItemRenderer

У меня есть сводная таблица, в которой я хочу хранить разнообразные обьекты. dataProvider этой таблицы я забиндил со статической переменной класса bookmark.
У каждого объекта, есть кнопочка "добавиться в массив bookmark"
Это все работает - объекты добавляются в массив нормально.

Проблема только в том что itemRenderer разный нужен для разных ячеек. И вот это не работает.

вот это моя таблица:
Код AS1/AS2:
<mx:DataGrid x="0" y="0" width="582" height="446" 
	dataProvider="{bookmarks.spisok}">
	<mx:columns>
	<mx:DataGridColumn headerText="data" dataField="myitem" itemRenderer="{data.myitemrenderer}"/>
	</mx:columns>
</mx:DataGrid>
а вот мой класс:
Код AS1/AS2:
[Bindable]
public class bookmarks{
	public static var spisok:ArrayCollection = new ArrayCollection();
	public static function addBmrk(item:*, renderer:*):void{
		spisok.addItem({
			myitem:item,
			myitemrenderer:new String(renderer)
		});
	}
}
а вот так объекты добавляют себя в список. в обьекте есть вот такая кнопочка:
Код AS1/AS2:
<mx:Image 	click="{ bookmarks.addBmrk(this, this.className) }"/>

не работает. itemRenderer не назначается. Что я делаю не так и как надо?