Flexers,

Tenho uma tela com um grid e um componente panel (na verdade a
aplicação é maior, mas simplifiquei para poder postar o código).

Gostaria de ao selecionar um item no grid um evento seja disparado
para que uma ação no componente seja executada.

Da maneira que o código está escrito funciona sem problemas mas gostaria
de saber se temos alguma solução melhor.

Segue meu código:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"; layout="vertical"
        xmlns:view="*" initialize="onInitialize()">
        
        <mx:Script>
                <![CDATA[
                        import mx.collections.ArrayCollection;
                        
                        [Bindable]
                        private var items:ArrayCollection = new 
ArrayCollection();
                        
                        private function onInitialize():void
                        {
                                var o1:Object = new Object();
                                o1.nome = "Obina";
                                items.addItem(o1);
                                
                                var o2:Object = new Object();
                                o2.nome = "Zico";
                                items.addItem(o2);
                        }
                        
                        private function onChange():void
                        {
                                meuComp.dispatchEvent(new ItemSelectedEvent());
                        }
                        
                ]]>
        </mx:Script>
        
        <mx:DataGrid dataProvider="{items}" change="onChange()"/>
        
        <view:comp id="meuComp"/>

</mx:Application>

Comopente comp.mxml:

<?xml version="1.0" encoding="utf-8"?>
<mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml"; layout="vertical"
        initialize="onInitialize()">

        <mx:Script>
                <![CDATA[
                        import mx.controls.Alert;
                        
                        private function onInitialize():void
                        {
                                
addEventListener(ItemSelectedEvent.ITEM_SELECTED, popula);
                        }
                        
                        private function popula(event:ItemSelectedEvent):void
                        {
                                Alert.show("foi");
                        }
                ]]>
        </mx:Script>
        
        <mx:Label id="nome" text="nome"/>
</mx:Panel>

Evento ItemSelectedEvent.as:

package
{
        import flash.events.Event;
        
        public class ItemSelectedEvent extends Event
        {
                public static const ITEM_SELECTED:String = "ItemSelected";
                
                public function ItemSelectedEvent()
                {
                        super(ItemSelectedEvent.ITEM_SELECTED);
                }

        }
}
  

-- 
Hamad Amaral
[EMAIL PROTECTED]
www.hamad.com.br/blog


--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a