添加CheckBox后的操作
添加CheckBox后的操作
接着上篇的问题续写:
在实现了添加checkbox控件后,又遇到一个新的问题,如何处理对应index的checkbox控件作出事件处理(点击时间,往往伴随着数据传递),获取其选择状态(选中OR未选中)。
在网上搜索资料还有头的指导下,总算实现了预期想要的效果了,现在总结下:
<mx:CheckBox id="chxBox" selected="false" click="outerDocument.checkHandler(this);"/>
编写函数事件:
public function checkHandler(obj:Object):void
{
if(obj.chxBox.selected==true){
infoAC.getItemAt(dgLayer.selectedIndex).check="true";
}else{
infoAC.getItemAt(dgLayer.selectedIndex).check="false";
}
}
(1) 前提是datagrid数据源绑定的arraycollection事先预留一列记录checkbox是否选择的状态;
(2)outerDocument是因为mxml文件中运用到<mx:component>,与<mx:DataGrid>不同的区域,使用outerDocument的目的就是去掉<mx:component>区域。
(3)checkHandler事件为带参函数,形式参数obj:Object与传递的实参this,现在着实有点不懂,还请高人指点下。
(4)补充一点的是:checkHandler函数必须为public,才能用outerDocument调用。
在实现了添加checkbox控件后,又遇到一个新的问题,如何处理对应index的checkbox控件作出事件处理(点击时间,往往伴随着数据传递),获取其选择状态(选中OR未选中)。
在网上搜索资料还有头的指导下,总算实现了预期想要的效果了,现在总结下:
<mx:CheckBox id="chxBox" selected="false" click="outerDocument.checkHandler(this);"/>
编写函数事件:
public function checkHandler(obj:Object):void
{
if(obj.chxBox.selected==true){
infoAC.getItemAt(dgLayer.selectedIndex).check="true";
}else{
infoAC.getItemAt(dgLayer.selectedIndex).check="false";
}
}
(1) 前提是datagrid数据源绑定的arraycollection事先预留一列记录checkbox是否选择的状态;
(2)outerDocument是因为mxml文件中运用到<mx:component>,与<mx:DataGrid>不同的区域,使用outerDocument的目的就是去掉<mx:component>区域。
(3)checkHandler事件为带参函数,形式参数obj:Object与传递的实参this,现在着实有点不懂,还请高人指点下。
(4)补充一点的是:checkHandler函数必须为public,才能用outerDocument调用。