Asignar una clase ActionScript 3 a un itemRenderer en Flex

Posted by admin | AS3, Class, Flex | Tuesday 3 March 2009 7:05 pm

En este Tip voy a explicar un sistema para poder controlar la funcionalidad de un componente usado como itemRenderer en cualquier componente de tipo lista desde una clase de ActionScript 3.

Supongamos que en nuestra aplicación Flex tenemos un compomente TileList al que le hemos asignado otro componente como itemRenderer:

<mx:TileList id="myTileList">   
    <mx:itemRenderer>
        <mx:Component>         
            <mx:myItemRenderer/>
        </mx:Component>
    </mx:itemRenderer>
</mx:TileList>

Este itemRenderer será otro archivo MXML al que queremos asignarle una clase AS3 para poder manejarlo, para ello le añadiremos un tag y definiremos la clase:

<mx:Script>
    <![CDATA[
        import com.proyecto.MyItemRendererClass;
        private var _this:MyItemRendererClass = new MyItemRendererClass(this);
    ]]>
</mx:Script>

El único detalle a tener en cuenta es que la clase reciba correctamente el contenido del objeto "data" del dataProvider. Eso se lo tenemos que pasar una vez el itemRenderer esté creado, de manera que en el evento creationComplete del componente haremos un setter a la clase:

<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"creationComplete="_this.data = data">

Con lo que la clase para controlar el itemRenderer comenzaría siendo así:

package com.proyecto
{
    public class MyItemRendererClass
    {
        private var _main:Object;
        private var _data:Object;
        //------------------------------------------------------------------------
        public function MyItemRendererClass(m:Object)
        {
            _main = m;
        }   
        public function set data(d:Object):void
        {
            _data = d;
            init();
        }
        //------------------------------------------------------------------------
        public function init():void
        {
            /* etc.. */
        }
        //------------------------------------------------------------------------
    }
}

Comparte:
  • Meneame
  • Twitter
  • Facebook
  • LinkedIn
  • Google Bookmarks
  • del.icio.us
  • Technorati
  • email
  • Print

Post relacinonados:

  1. Acceder a los itemRenderer de un componente lista en Flex
  2. Clase de ActionScript 3 para añadir sombras a MovieClips
  3. Clase de Actionscript 3 para arrays multidimensionales
  4. Clase para dibujar líneas de puntos en ActionScript 3
  5. Clase para cargar contenido externo en Actionscript 3

2 Comments »

  1. Comment by isantos — 24 April, 2009 @ 3:06 pm

    muy bueno tambien para acceder a las propiedades del itemRenderer...

    gracias
    Te invito a que visites y comentes mi blog
    http://www.ddsmedia.net/blog

  2. Comment by Carlos Dk — 9 March, 2010 @ 3:29 am

    No es lo que iba buscando, pero a marcadores.

    Muy util :D

    Sigo buscando sobre el advanceddatagrid :D

    Un saludo!

RSS feed for comments on this post. TrackBack URI

Leave a comment

Get Adobe Flash playerPlugin by wpburn.com wordpress themes