flex checkbox和combobox作为datagrid的渲染器
分类: flex3 2009-12-10 20:28 909人阅读 评论(2) 收藏 举报
CheckboxRenderer.as
view plain
package renderer
{
import flash.events.Event;
import mx.controls.CheckBox;
public class CheckBoxRenderer extends CheckBox
{
public function CheckBoxRenderer()
{
super();
this.addEventListener(Event.CHANGE,changeHandle);
}
override public function get data():Object{
return super.data;
}
override public function set data(value:Object):void{
super.data=value;
this.selected=value.selected;
}
private function changeHandle(event:Event):void{
data.selected=this.selected;
}
}
}
main.mxml
view plain
itemEditEnd="editHandle(event)">
itemClick="itemHandle(event)"> itemRenderer="renderer.CheckBoxRenderer"/>
import mx.controls.Alert;
import mx.controls.dataGridClasses.DataGridColumn;
import mx.events.DataGridEvent;
import mx.collections.ArrayCollection;
[Bindable]
private var arr:ArrayCollection=new ArrayCollection([
{Id:1001,year:2009,city:"Shanghai",provice:"上海",total:580000,selected:false,flag:0},
{Id:1002,year:2009,city:"Beijing",provice:"河北省",total:7852020,selected:false,flag:1},
{Id:1003,year:2009,city:"Nanjing",provice:"江苏省",total:895145,selected:false,flag:2},
{Id:1004,year:2009,city:"Hangzhou",provice:"浙江省",total:4132415,selected:false,flag:3},
{Id:1005,year:2009,city:"Shanghai",provice:"上海",total:580000,selected:false,flag:0},
{Id:1006,year:2009,city:"Beijing",provice:"河北省",total:7852020,selected:false,flag:1},
{Id:1007,year:2009,city:"Nanjing",provice:"江苏省",total:895145,selected:false,flag:2},
{Id:1008,year:2009,city:"Hangzhou",provice:"浙江省",total:4132415,selected:false,flag:2},
{Id:1009,year:2009,city:"Shanghai",provice:"上海",total:580000,selected:false,flag:0},
{Id:1010,year:2009,city:"Beijing",provice:"河北省",total:7852020,selected:false,flag:1},
{Id:1012,year:2009,city:"Nanjing",provice:"江苏省",total:895145,selected:false,flag:2},
{Id:1013,year:2009,city:"Hangzhou",provice:"浙江省",total:4132415,selected:false,flag:3}
]);
[Bindable]
public var cboxData:ArrayCollection=new ArrayCollection([
{year:2006},
{year:2007},
{year:2008},
{year:2009},
]);
private function editHandle(event:DataGridEvent):void{
var cols:DataGridColumn=dg.columns[event.columnIndex];
var str:String=dg.itemEditorInstance[cols.editorDataField];
if(event.dataField=="total"){
var num:Number=Number(str);
if(isNaN(num)||str.length>6){
event.preventDefault();
lbl.text="格式或长度不正确!";
}else{
this.lbl.text="编辑的ID:"+event.itemRenderer.data.Id+"编辑后的值是:"+str;
/* */
}
}
}
private function dgItemClick(event:ListEvent):void{
Alert.show(dg.selectedItem.year);
}
public function modifyHandle():void{
this.lbl.text=dg.selectedItem.Id;
}
public function ckHandle(obj:Object):void{
if(obj.selected){
this.lbl.text+=dg.selectedItem.Id;
}
lbl.text="";
}
public function cbHandle(obj:Object):void{
lbl2.text=dg2.selectedItem.Id+"-"+obj.selectedItem.year;
}
]]-->