<?xml version="1.0" encoding="utf-8"?> <mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"> <mx:XMLListCollection id="collection1"/> <mx:XMLListCollection id="collection2"/> <mx:Script> <![CDATA[ [Bindable] public var labelField:String = null; public var labelAttribute:String = null; private function moveForward():void{ collection2.addItem(list1.selectedItem); collection1.removeItemAt(list1.selectedIndex); } private function moveBackward():void{ collection1.addItem(list2.selectedItem); collection2.removeItemAt(list2.selectedIndex); } private function moveAllForward():void{ for(var i:Number=0;i<collection1.length;i++){ collection2.addItem(collection1[i]); } collection1.removeAll() } private function moveAllBackward():void{ for(var i:Number=0;i<collection2.length;i++){ collection1.addItem(collection2[i]); } collection2.removeAll() } ]]> </mx:Script> <mx:List id="list1" dataProvider="{collection1}" width="45%" height="100%" dragEnabled = "true" dragMoveEnabled="true" dropEnabled="true" labelField="{labelField}" /> <mx:VBox width="40"> <mx:Button id="forwardButton" click="moveForward()" enabled="{list1.selectedItem!=null}"> <mx:icon>@Embed(source='../assets/control_forward_blue.png')</mx:icon> </mx:Button> <mx:Button id="backwardButton" click="moveBackward()" enabled="{list2.selectedItem!=null}"> <mx:icon>@Embed(source='../assets/control_backward_blue.png')</mx:icon> </mx:Button> <mx:Button id="forwardAllButton" click="moveAllForward()" enabled="{collection1.length>0}"> <mx:icon>@Embed(source='../assets/control_fastforward_blue.png')</mx:icon> </mx:Button> <mx:Button id="backwardAllButton" click="moveAllBackward()" enabled="{collection2.length>0}"> <mx:icon>@Embed(source='../assets/control_fastbackward_blue.png')</mx:icon> </mx:Button> </mx:VBox> <mx:List id="list2" dataProvider="{collection2}" width="45%" height="100%" dragEnabled = "true" dragMoveEnabled="true" dropEnabled="true" labelField="{labelField}" /> </mx:HBox>