No, Repeater lets your repeat almost ANYTHING.  An excellent technique is to 
create a custom component that encapsulates all of the functionality of an 
item.  Here are some code snippets that show how.
Tracy

Goal: Display a list of items using a complex display for each item, and have 
each of those items behave like a menu element and respond to a click anywhere 
on the item by running a handler function.

One solution is to use a Repeater with a custom component

In the main app or component, declare the Repeater, and the click handler 
function.
<mx:Application ...
<mx:Script><![CDATA[
  import MyRepeaterItem;
  ...
  
private function onRPItemClick(oEvent:Event):void
{
    var xmlItem:XML = XML(oEvent.target);

}//onRPItemClick
]]></mx:Script>
  <mx:VBox ...>
    <mx:Repeater id="rp" dataProvider="{_xmlData}" ...>
      <!-- Note we pass in the entire currentItem, and define a click handler  
-->
      <MyRepeaterItem xmlItem="{rp.currentItem}" 
itemClick="onRPItemClick(event)" .../>
    </mx:Repeater
  </mx:VBox>
</mx:Application>

And in the component, MyRepeaterItem.mxml:
<?xml version="1.0" encoding="utf-8"?>
<mx:HBox mouseChildren="false" buttonMode="true" click="onClick(event)" > 
  <!-- The metadata tag below allows us to define an itemClick handler in mxml, 
as in the code above -->
  <mx:Metadata>
     [Event(name="itemClick", type="flash.events.Event")]
  </mx:Metadata>
<mx:Script><![CDATA[
  [Bindable]private var _xmlItem:XML;
  
  /** Setter function */
  public function set xmlItem(xml:XML):void  
  {
    _xmlItem = xml;
    //do any special, non-bound ui stuff you want
  }//set xmlItem

  /** Getter function */  
  public function get xmlItem():XML  
  {
    return _xmlItem;
  }//get xmlItem


  /** Outer VBox Click handler function */  
  private function onClick():void 
  {
    dispatchEvent(new Event("itemClick",false); //we do not need/want this 
event to bubble
  }//onClick

]]></mx:Script>
  <!-- Now declare the Item UI -->
  <mx:Text id="lbDescription" text="[EMAIL PROTECTED]" width="100%" 
height="100%" />
</mx:HBox>



  

________________________________________
From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Tina 
Scurlock
Sent: Wednesday, November 07, 2007 11:29 AM
To: [email protected]
Subject: [flexcoders] Repeat Containers

Is there a class out there that will let you repeat containers such as
VBox and HBox?

>From what I have researched, the REPEATER class will only allow you to
repeat individual components. Is there class that will let you repeat
containers with components inside?

Thank you sooo much!!
Tina
 

Reply via email to