在Repeater控件中使用CheckBox控件.

示例:

代码:
<? xml version="1.0" encoding="utf-8" ?>
<!--  http://blog.flexexamples.com/2008/05/29/displaying-checkbox-controls-using-the-repeater-in-flex/  -->
< mx:Application  xmlns:mx ="http://www.adobe.com/2006/mxml"
        layout
="vertical"
        verticalAlign
="middle"
        backgroundColor
="white" >

    
< mx:Script >
        
<![CDATA[
            import mx.controls.Alert;
            import mx.controls.CheckBox;

            private function button_click(evt:Event):void {
                var selArr:Array = [];
                var idx:int;
                var len:int = arr.length;
                for (idx=0; idx<len; idx++) {
                    if (checkBox[idx].selected) {
                        selArr.push(checkBox[idx].label);
                    }
                }

                var title:String = selArr.length + " of " + len + " item(s) selected.";
                var message:String = selArr.join("n");
                Alert.show(message, title);
            }

            private function doFilter(element:*, index:int, arr:Array):Boolean {
                return element.selected;
            }

            private function checkBox_change(evt:Event):void {
                var ch:CheckBox = evt.currentTarget as CheckBox;
                Alert.show(ch.getRepeaterItem().data);
            }
        
]]>
    
</ mx:Script >

    
< mx:Array  id ="arr" >
        
< mx:Object  label ="Red"  data ="red"   />
        
< mx:Object  label ="Orange"  data ="haloOrange"   />
        
< mx:Object  label ="Yellow"  data ="yellow"   />
        
< mx:Object  label ="Green"  data ="haloGreen"   />
        
< mx:Object  label ="Blue"  data ="haloBlue"   />
    
</ mx:Array >

    
< mx:Panel  id ="panel"  width ="50%"  paddingLeft ="10"  verticalGap ="10" >
        
< mx:Repeater  id ="checkBoxRepeater"  dataProvider =" {arr} " >
            
< mx:CheckBox  id ="checkBox"
                    label
=" {checkBoxRepeater.currentItem.label} "
                    data
=" {checkBoxRepeater.currentItem.data} "
                    change
="checkBox_change(event);"   />
        
</ mx:Repeater >
        
< mx:ControlBar  horizontalAlign ="right" >
            
< mx:Button  id ="button"
                    label
="Click me"
                    emphasized
="true"
                    click
="button_click(event);"   />
        
</ mx:ControlBar >
    
</ mx:Panel >

</ mx:Application >
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值