首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

flex checkbox 全选解决思路

2012-02-04 
flex checkbox 全选我现在有这三个选项,我要全选怎样实现mx:CheckBox label张三 height20/mx:Che

flex checkbox 全选
我现在有这三个选项,我要全选怎样实现
<mx:CheckBox label="张三" height="20"/>
<mx:CheckBox label="李四" height="20"/>
<mx:CheckBox label="王五" height="20"/>

[解决办法]
好像没有现成的办法,只能写个for循环实现了~
[解决办法]
CheckBox是怎么生成的呢?
[解决办法]
<mx:CheckBox label="张三" height="20" checked="{checkFlag}"/> 
<mx:CheckBox label="李四" height="20" checked="{checkFlag}"/> 
<mx:CheckBox label="王五" height="20" checked="{checkFlag}"/>
<mx:Script>
<![CDATA[
[Bindable]
private var checkFlag:boolean = true;
]]>
</mx:Script>

绑定一个变量checkFlag,当checkFlag的值变成TRUE的时候,所有的checkbox都会被选中
[解决办法]
使用循环性能来说不是很好,使用绑定就可以实现你的要求.
[解决办法]

探讨
<mx:CheckBox label="张三" height="20" checked="{checkFlag}"/>
<mx:CheckBox label="李四" height="20" checked="{checkFlag}"/>
<mx:CheckBox label="王五" height="20" checked="{checkFlag}"/>
<mx:Script>
<![CDATA[
                [Bindable]
private var checkFlag:boolean = true;
]]>
</mx:Script>

绑定一个变量checkFlag,当checkFlag的值变成TRUE的时候,所有的checkbox都会被选中

[解决办法]
探讨
<mx:CheckBox label="张三" height="20" checked="{checkFlag}"/>
<mx:CheckBox label="李四" height="20" checked="{checkFlag}"/>
<mx:CheckBox label="王五" height="20" checked="{checkFlag}"/>
<mx:Script>
<![CDATA[
                [Bindable]
private var checkFlag:boolean = true;
]]>
</mx:Script>

用这个就可以实现楼主的需求了

绑定一个变量checkFlag,当checkFlag的值变成TRUE的时候,所有的checkbox都会被选中

[解决办法]
1.如果你的checkbox列表是同一类事物,并且对layout没特殊要求,你可以使用Repeater生成你的checkbox列表,这样只用给Repeater控件提供数据就能控制每一个checkbox的属性,例如:
<mx:VBox width="100%">
<mx:Repeater id="rp" dataProvider="{array}">
<mx:CheckBox labbel="{rp.currentItem.label}" checked="{rp.currentItem.isChecked}"/>
</mx:Repeater>
</mx:VBox>
2.如果你的checkbox的layout毫无规律,比如页面的上一个下一个的,不好放在一个容器里,你可以仿造CheckBoxGroup的源码(Checkbox和group的源码都很少)写一个CheckBoxGroup的自定义组件,不用实现UIComponent,extends EventDispatcher implements IMXMLObject就可以了,然后可以通过这个group去控制你的checkbox list



[解决办法]
学习
[解决办法]
3楼的想法最简单。
[解决办法]
同感

热点排行