Cher80
13.09.2010, 14:34
Добрый %timestamp%
Есть у меня Datagrid, и к нему класс расширяющий CellRenderer (к нему еще прилинован мувик, поэтому не пугайтесь странных переменных в классе). В конструктор этого класса я ничего не передаю:
package library
{
import flash.display.MovieClip;
import flash.display.DisplayObject;
import fl.controls.listClasses.ICellRenderer;
import flash.display.Loader;
import flash.events.*;
public class Add_words_cell extends MovieClip implements ICellRenderer
{
private var _data:Object;
private var _listData:ListData;
private var _selected:Boolean;
public function Add_words_cell()
{
}
public function set data(d:Object):void {
this._data = d;
this.wordButt.wordText.text = _data.word + " " + _data.part;
}
public function get data():Object {
return _data;
}
public function set listData(ld:ListData):void {
_listData = ld;
}
public function get listData():ListData {
return _listData;
}
public function set selected(s:Boolean):void {
_selected = s;
}
public function get selected():Boolean {
return _selected;
}
public function setSize(width:Number, height:Number):void {
}
public function setStyle(style:String, value:Object):void {
}
public function setMouseState(state:String):void{
}
}
}
и вот как это привязывается к DataGrid
var dataCol:DataGridColumn = new DataGridColumn("data");
dataCol.cellRenderer = Add_words_cell;
this.wordsDG.addColumn(dataCol);
А теперь вопрос: я хочу передать параметр конструктору класс который у меня типа cell renderer. Вот что добавляю в конструкторе класса
public function Add_words_cell(user:Array)
и вот что делаю когда назначаю cellRendere:
dataCol.cellRenderer = new Add_words_cell(this.user);
но эта схема не срабатывает, так как видимо свойство cellRenderer должно быть классом, а не экземпляром. Как мне передать параметр по нормальному в ячейку не через DataProvider? Просто тупо одинаковый IDшник пользователя передавать в каждой строчке Dataprovider, хочется его один раз впихнуть в Cellrenderer
Есть у меня Datagrid, и к нему класс расширяющий CellRenderer (к нему еще прилинован мувик, поэтому не пугайтесь странных переменных в классе). В конструктор этого класса я ничего не передаю:
package library
{
import flash.display.MovieClip;
import flash.display.DisplayObject;
import fl.controls.listClasses.ICellRenderer;
import flash.display.Loader;
import flash.events.*;
public class Add_words_cell extends MovieClip implements ICellRenderer
{
private var _data:Object;
private var _listData:ListData;
private var _selected:Boolean;
public function Add_words_cell()
{
}
public function set data(d:Object):void {
this._data = d;
this.wordButt.wordText.text = _data.word + " " + _data.part;
}
public function get data():Object {
return _data;
}
public function set listData(ld:ListData):void {
_listData = ld;
}
public function get listData():ListData {
return _listData;
}
public function set selected(s:Boolean):void {
_selected = s;
}
public function get selected():Boolean {
return _selected;
}
public function setSize(width:Number, height:Number):void {
}
public function setStyle(style:String, value:Object):void {
}
public function setMouseState(state:String):void{
}
}
}
и вот как это привязывается к DataGrid
var dataCol:DataGridColumn = new DataGridColumn("data");
dataCol.cellRenderer = Add_words_cell;
this.wordsDG.addColumn(dataCol);
А теперь вопрос: я хочу передать параметр конструктору класс который у меня типа cell renderer. Вот что добавляю в конструкторе класса
public function Add_words_cell(user:Array)
и вот что делаю когда назначаю cellRendere:
dataCol.cellRenderer = new Add_words_cell(this.user);
но эта схема не срабатывает, так как видимо свойство cellRenderer должно быть классом, а не экземпляром. Как мне передать параметр по нормальному в ячейку не через DataProvider? Просто тупо одинаковый IDшник пользователя передавать в каждой строчке Dataprovider, хочется его один раз впихнуть в Cellrenderer