Using a CheckBox control as a list item renderer in Flex

The following example will show you how you can use a CheckBox control as a custom item renderer in a List control in Flex.
I haven’t done a lot of testing yet, so if you have any tips/suggestions/improvements, please, share them in the comments
<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2008/01/27/using-a-checkbox-control-as-a-list-item-renderer-in-flex/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        xmlns:vo
="*"
        layout
="horizontal"
        verticalAlign
="middle"
        backgroundColor
="white"
        creationComplete
="init();">

    
<mx:Script>
        
<![CDATA[
            import mx.events.CollectionEvent;
            import mx.utils.ObjectUtil;

            private function init():void {
                arrColl.dispatchEvent(new CollectionEvent(CollectionEvent.COLLECTION_CHANGE));
            }

            private function arrColl_collectionChange(evt:CollectionEvent):void {
                try {
                    var tArr:Array = arrColl.source.filter(selectedOnly);
                    textArea.text = ObjectUtil.toString(tArr);
                    lbl.text = tArr.length.toString() + " item(s) selected";
                } catch (err:Error) {
                    // ignore.
                }
            }

            private function selectedOnly(item:ListItemValueObject, idx:uint, arr:Array):Boolean {
                return item.isSelected;
            }
        
]]>
    
</mx:Script>

    
<mx:Array id="arr">
        
<vo:ListItemValueObject label="One" isSelected="true" />
        
<vo:ListItemValueObject label="Two" isSelected="true" />
        
<vo:ListItemValueObject label="Three" isSelected="true" />
        
<vo:ListItemValueObject label="Four" isSelected="true" />
        
<vo:ListItemValueObject label="Five" isSelected="false" />
        
<vo:ListItemValueObject label="Six" isSelected="false" />
        
<vo:ListItemValueObject label="Seven" isSelected="false" />
        
<vo:ListItemValueObject label="Eight" isSelected="false" />
        
<vo:ListItemValueObject label="Nine" isSelected="false" />
        
<vo:ListItemValueObject label="Ten" isSelected="false" />
        
<vo:ListItemValueObject label="Eleven" isSelected="false" />
        
<vo:ListItemValueObject label="Twelve" isSelected="false" />
    
</mx:Array>

    
<mx:ArrayCollection id="arrColl"
            source
="{arr}"
            collectionChange
="arrColl_collectionChange(event);" />

    
<mx:Panel id="panel"
            title
="Items"
            status
="{arrColl.length} total"
            styleName
="opaquePanel">
        
<mx:List id="list"
                dataProvider
="{arrColl}"
                alternatingItemColors
="[#EEEEEE, white]"
                width
="150"
                rowCount
="8">
            
<mx:itemRenderer>
                
<mx:Component>
                    
<mx:CheckBox selectedField="isSelected"
                            change
="onChange(event);">
                        
<mx:Script>
                            
<![CDATA[
                                private function onChange(evt:Event):void {
                                    data.isSelected = !data.isSelected;
                                }
                            
]]>
                        
</mx:Script>
                    
</mx:CheckBox>
                
</mx:Component>
            
</mx:itemRenderer>
        
</mx:List>
        
<mx:ControlBar horizontalAlign="right">
            
<mx:Label id="lbl" />
        
</mx:ControlBar>
    
</mx:Panel>

    
<mx:TextArea id="textArea"
            verticalScrollPolicy
="on"
            width
="100%"
            height
="{panel.height}" />

</mx:Application>

View ListItemValueObject.as
package {
    public class ListItemValueObject {

        [Bindable]
        public var label:String;

        [Bindable]
        public var isSelected:Boolean;

        public function ListItemValueObject() {
            super();
        }
    }
}



    本文转自 OldHawk  博客园博客,原文链接:http://www.cnblogs.com/taobataoma/archive/2008/01/31/1059338.html,如需转载请自行联系原作者


基于Spring Boot搭建的一个多功能在线学习系统的实现细节。系统分为管理员和用户两个主要模块。管理员负责视频、文件和文章资料的管理以及系统运营维护;用户则可以进行视频播放、资料下载、参与学习论坛并享受个性化学习服务。文中重点探讨了文件下载的安全性和性能优化(如使用Resource对象避免内存溢出),积分排行榜的高效实现(采用Redis Sorted Set结构),敏感词过滤机制(利用DFA算法构建内存过滤树)以及视频播放的浏览器兼容性解决方案(通过FFmpeg调整MOOV原子位置)。此外,还提到了权限管理方面自定义动态加载器的应用,提高了系统的灵活性和易用性。 适合人群:对Spring Boot有一定了解,希望深入理解其实际应用的技术人员,尤其是从事在线教育平台开发的相关从业者。 使用场景及目标:适用于需要快速搭建稳定高效的在线学习平台的企业或团队。目标在于提供一套完整的解决方案,涵盖从资源管理到用户体验优化等多个方面,帮助开发者更好地理解和掌握Spring Boot框架的实际运用技巧。 其他说明:文中不仅提供了具体的代码示例和技术思路,还分享了许多实践经验教训,对于提高项目质量有着重要的指导意义。同时强调了安全性、性能优化等方面的重要性,确保系统能够应对大规模用户的并发访问需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值