flex中list或Combox中的子项上移下移操作


<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
       width="550" height="400">
       
    <mx:Script>
        <![CDATA[
         import mx.utils.ObjectUtil;
            import mx.collections.*;
           
            [Bindable]
            private var dp:ArrayCollection=new ArrayCollection([
                {Artist:'Pavement1', Album:'Slanted and Enchanted',
                    Price:11.99, InStock: true},
                {Artist:'Pavement2', Album:'Crooked Rain, Crooked Rain',
                    Price:10.99, InStock: false},
                {Artist:'Pavement3', Album:'Wowee Zowee',
                    Price:12.99, InStock: true},
                {Artist:'Asphalt1', Album:'Brighten the Corners',
                    Price:11.99, InStock: false},
                {Artist:'Asphalt2', Album:'Terror Twilight',
                    Price:11.99, InStock: true},
                {Artist:'Asphalt3', Album:'Buildings Meet the Sky',
                    Price:14.99, InStock: true},
                {Artist:'Other', Album:'Other', Price:5.99, InStock: true}
            ]);

            private function up():void{
             if(list.selectedIndex>0){
              var i:int=list.selectedIndex;
              var tmp:Object=ObjectUtil.copy(list.selectedItem);
              var tmpupper:Object=dp.getItemAt(i-1);
              dp.setItemAt(tmpupper,i);
              dp.setItemAt(tmp,i-1);
              list.selectedIndex=i-1;
              list.selectedItem=tmp;
             }
            }
            private function down():void{
             if (list.selectedIndex<dp.length-1){
              var i:int=list.selectedIndex;
              var tmp:Object=ObjectUtil.copy(list.selectedItem);
              var tmplower:Object=dp.getItemAt(i+1);
              dp.setItemAt(tmplower,i);
              dp.setItemAt(tmp,i+1);
              list.selectedIndex=i+1;
              list.selectedItem=tmp;
             }
            }
        ]]>
    </mx:Script>

    <mx:List dataProvider="{dp}" id="list" labelField="Artist"></mx:List>
    <mx:Button label="UP" click="{up();}" enabled="{list.selectedItem!=null}"/>
    <mx:Button label="DOWN" click="{down();}" enabled="{list.selectedItem!=null}"/>
</mx:Application>

原文地址:https://www.cnblogs.com/nianshi/p/1734650.html