Mega Code Archive

 
Categories / Flex / Data Model
 

Use ArrayCollection to store controls

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:s="library://ns.adobe.com/flex/spark">     <mx:Script>                      import spark.events.RendererExistenceEvent;             import mx.collections.ArrayCollection;             import mx.controls.Alert;                          private function itemAdded( evt:RendererExistenceEvent ):void             {                 Alert.show(evt.index + " : " + evt.data + " : " + evt.renderer );             }             private function itemRemoved( evt:RendererExistenceEvent ):void             {                 Alert.show(evt.index + " : " + evt.data + " : " + evt.renderer );             }                          private function addItem():void             {                 if( collection.length > 0 )                     myContent.dataProvider.addItem( collection.removeItemAt(0) );             }             private function removeItem():void             {                 if( myContent.dataProvider.length > 0 )                 {                     var item:Object = myContent.dataProvider.removeItemAt( myContent.dataProvider.length - 1 );                     collection.addItem( item );                 }             }            </mx:Script>     <mx:String id="txt">this is a test</mx:String>     <mx:ArrayCollection id="collection">          <mx:Label text="Using DefaultComplexItemRenderer." />          <mx:Button label="button 1" />          <s:DropDownList dataProvider="{new ArrayCollection(txt.split(' '))}" />          <mx:CheckBox selected="true" />     </mx:ArrayCollection>         <s:DataGroup id="myContent"                  rendererAdd="itemAdded(event);"                   rendererRemove="itemRemoved(event);"                  itemRenderer="spark.skins.spark.DefaultComplexItemRenderer">         <s:dataProvider>             <mx:ArrayCollection />         </s:dataProvider>              </s:DataGroup>          <mx:Button label="add" click="addItem();" />     <mx:Button label="remove" click="removeItem();" />      </mx:Application>