Flex中datagrid中checkbox的全选实现

假设住程序的表格中有一列是checkbox,用户勾选后进行其他操作,定义为:

1
2
3
4
5
6
7
8
9
10
 
protected function chkChooseAll_changeHandler(event:Event):void
{


for each(var item:XML in adg.dataProvider)
{
item.@selected = chkChooseAll.selected;
}

}

即将表格数据源对应项的selectd属性设置为全选框的选中状态。

下面主要要处理表格中chkCol列对属性改变的响应,即自动更新全选状态。方法为:
在itemRender中,重载data属性的set方法,如下:

1
2
3
4
5
6
7
8
9
10
 
override public function set data(value:Object):void
{

if(value.@selected == "true")
{
chkbox.selected = true;
} else {
chkbox.selected = false;
}
}

完整的itemRender源码如下图: