package { import flash.display.Sprite public class ListExample extends Sprite { import flash.events.*; import fl.data.DataProvider; import fl.controls.List import fl.controls.Label import fl.controls.Button private var clearButton:Button; private var availableItems:List; private var selectedItemList:List; private var selectedItemsList:List; public function ListExample() { createComponents(); setupComponents(); } private function setupComponents():void { var dp:Array = new Array(); var i:uint; var count:uint = availableItems.rowCount * 2; for (i = 0; i < count; i++) { dp.push({label:"Item " + i}); } availableItems.allowMultipleSelection = true; availableItems.dataProvider = new DataProvider(dp); availableItems.dataProvider = new DataProvider(dp); availableItems.addEventListener(Event.CHANGE, updateLists); clearButton.addEventListener(MouseEvent.CLICK, clearHandler); } private function clearHandler(event:MouseEvent):void { availableItems.clearSelection(); // clear data providers selectedItemList.dataProvider = new DataProvider(); selectedItemsList.dataProvider = new DataProvider(); } private function updateLists(e:Event):void { selectedItemList.dataProvider = availableItems.selectedItem ? new DataProvider([availableItems.selectedItem]) : new DataProvider(); selectedItemsList.dataProvider = new DataProvider(availableItems.selectedItems); } private function createComponents():void { clearButton = new Button(); availableItems = new List(); selectedItemList = new List(); selectedItemsList = new List(); var availableItemsLabel:Label = new Label(); var selectedItemListLabel:Label = new Label(); var selectedItemsListLabel:Label = new Label(); clearButton.move(10,142); availableItems.move(10,32); selectedItemList.move(120,32); selectedItemsList.move(230,32); availableItemsLabel.move(10,10); selectedItemListLabel.move(120,10); selectedItemsListLabel.move(230,10); clearButton.label = "Clear Selection" availableItemsLabel.text = "Available Items"; selectedItemListLabel.text = "Selected Item"; selectedItemsListLabel.text = "All Selected Items"; addChild(clearButton); addChild(availableItems); addChild(selectedItemList); addChild(selectedItemsList); addChild(availableItemsLabel); addChild(selectedItemListLabel); addChild(selectedItemsListLabel); } } }