import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;
import fl.events.ListEvent;
import fl.controls.Button;
var colChecked:DataGridColumn = _rootMain.accountList.columns[0];
colChecked.cellRenderer = CheckCellClass;
(그리드 컨트롤의 컬럼을 DataGridColumn 으로 인식시킨후
cellRenderer 로 클래스 통째로 적용.
CheckCellClass class
package
{
import fl.controls.CheckBox;
import fl.controls.listClasses.ICellRenderer;
import fl.controls.listClasses.ListData;
import flash.events.Event;
import fl.events.ListEvent;
import fl.core.InvalidationType;
import flash.events.MouseEvent;
public class CheckCellClass extends CheckBox implements ICellRenderer
{
private var _listData:ListData;
private var _data:Object;
public function CheckCellClass()
{
super();
}
public function set data(d:Object):void
{
_data = d;
label = "";
}
public function get data():Object
{
return _data;
}
public function get listData():ListData
{
return _listData;
}
public function set listData(value:ListData):void {
_listData = value;
}
override public function get selected():Boolean {
return _selected;
}
override public function set selected(value:Boolean):void {
}
public function onCheckClick(e:MouseEvent)
{
trace(e.target.name);
_selected = !_selected;
_data["checked"] = _selected;
}
}
}
CheckBox 클래스를 상속받고
ICellRenderer 인터페이스도 상속받아서
new CheckBox 를 만들어서 그리드 컨트롤 컬럼에 적용.
( 적용하고나서 name 값을 줄라고 했더니~ 안되드라;;; 그래서 클래스안에다가 static 변수하나 만들어서 작업. )
'Developer > Action Script 3.0' 카테고리의 다른 글
datagrid 안에 checkbox 등 넣기. (0) | 2010.09.12 |
---|