小小菜鸟的web菜园子

web开发学习。好记性不如烂笔头。每天进步一点点!

导航

在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>

posted on 2008-05-30 10:12  『小小菜鸟』  阅读(883)  评论(0编辑  收藏  举报