Comecei a desenvolver aqui, mas não consegui enviar meu valor pro outro
lado. Eu preciso que o *field_description *da tela2 recebe o valor do item
clicado no dataGrid.
Alguma coisa do tipo (não sei se está correto):
popupEditProgramSchedule.field_description
= dataGridTask.selectedItem.nome;

Segue o código:

package br.com.sumus.coyote.program.events {

    import flash.events.Event;

    public class *ProgramScheduleEvent* extends Event {

        public static const ENVIOU:String= "enviouValorEvent";

        public function ProgramScheduleEvent(type:String,
bubbles:Boolean=false, cancelable:Boolean=false) {
            super(type, bubbles, cancelable);
        }

        override public function clone():Event{
            return new ProgramScheduleEvent(type,bubbles,cancelable);
        }

    }
}

Tela1) *program_schedule.mxml*

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"; layout="absolute"
creationComplete="init()">

    <mx:RemoteObject id="programController" result="carregaResultado(event)"
destination="programFlexController" />

    <mx:Metadata>
        [Event
(name="enviouValorEvent",type="br.com.sumus.coyote.program.events.*
ProgramScheduleEvent*")]
    </mx:Metadata>

    <mx:Script>

        <![CDATA[
//              imports omitidos ...

                //---------------------------------------------------------
                //                 a outra tela
                //---------------------------------------------------------
                private var popupEditProgramSchedule:*edit_program_schedule*
;

                public function init():void{
                    popupEditProgramSchedule = new edit_program_schedule();
                    attachEventListeners();
                }

                //---------------------------------------------------------
                //                 metodos de event
                //---------------------------------------------------------
                public function attachEventListeners():void {
                    Alert.show(' >>> attachEventListeners() <<<');
                    this.addEventListener(ProgramScheduleEvent.ENVIOU,
enviouHandler);
                }

                public function *enviarAction()*:void{
                    Alert.show('>> enviarAction() <<');

                    dispatchEvent(new
ProgramScheduleEvent(ProgramScheduleEvent.ENVIOU));
                    showEditProgramSchedule();
                }

                public function enviouHandler(e:ProgramScheduleEvent):void
{
                    Alert.show(' >>> enviouHandler() <<<');
                 }
                //---------------------------------------------------------

            ]]>

    </mx:Script>

             <mx:DataGrid id="dataGridTask" x="10" y="10" width="782.5"
height="268" dataProvider="{taskList}">
                <mx:columns>
                    <mx:DataGridColumn headerText="Descrição "
dataField="description"/>
                    <mx:DataGridColumn headerText="Tarefa Agendada"
id="taskSchedule" dataField="taskGroupVO.description"/>
                    <mx:DataGridColumn headerText="Cadastrado em "
dataField="register" labelFunction="formatDate"/>
                    <mx:DataGridColumn headerText="Editar "
textAlign="center">
                        <mx:itemRenderer>
                            <mx:Component>
                                <mx:HBox horizontalAlign="center">
                                      <mx:Button label="*"
click="outerDocument.*enviarAction()*"/>
                                  </mx:HBox>
                            </mx:Component>
                        </mx:itemRenderer>
                    </mx:DataGridColumn>
                  </mx:columns>
            </mx:DataGrid>
</mx:Application>

Tela2) *edit_program_schedule.mxml*
...
            <mx:TextInput id="*field_description*" x="92" y="19" width="301"
height="18"/>
...

Alguém pode ajudar?

2010/5/28 Paulo Augusto Teixeira <[email protected]>

> Eu gosto de fazer assim:
>
>
> http://www.pauloteixeira.blog.br/en/posts/2010/handler-data-between-two-components-using-custom-events---by-pedro-claudio-silva/
>
>
> <http://www.pauloteixeira.blog.br/en/posts/2010/handler-data-between-two-components-using-custom-events---by-pedro-claudio-silva/>
> []s
>
> 2010/5/28 Sérgio Fantin <[email protected]>
>
>> Olá pessoal,
>>
>> preciso enviar o valor de uma coluna de um dataGrid para outra tela do meu
>> sistema.
>>
>> Ao clicar em *documentImage* eu preciso enviar o valor
>> dataGridTask.selectedItem.nome* *para o componente *field_description* da
>> outra tela.
>>
>> *trecho relevante da Tela1:
>>
>> *
>>>
>>> <mx:DataGrid id="dataGridTask" x="10" y="10" width="782.5" height="268"
>>> dataProvider="{taskList}">
>>>                 <mx:columns>
>>>                     <mx:DataGridColumn headerText="Descrição "
>>> dataField="description"/>
>>>                     <mx:DataGridColumn headerText="Tarefa Agendada"
>>> id="taskSchedule" dataField="taskGroupVO.description"/>
>>>                     <mx:DataGridColumn headerText="Cadastrado em "
>>> dataField="register" labelFunction="formatDate"/>
>>>
>>>                     <mx:DataGridColumn headerText="Editar "
>>> textAlign="center">
>>>                         <mx:itemRenderer>
>>>                             <mx:Component>
>>>                                 <mx:HBox horizontalAlign="center">
>>>                                     <mx:Image id="*documentImage*"
>>> source="../images/document.gif" height="100%"/>
>>>
>>>                                   </mx:HBox>
>>>                             </mx:Component>
>>>                         </mx:itemRenderer>
>>>                     </mx:DataGridColumn>
>>>                     <mx:DataGridColumn headerText="Remover "
>>> textAlign="center">
>>>                         <mx:itemRenderer>
>>>                             <mx:Component>
>>>                                 <mx:HBox horizontalAlign="center">
>>>                                     <mx:Image id="closeImage"
>>> source="../images/close.gif" height="100%"
>>> click="outerDocument.alertRemoveTask()" />
>>>
>>>                                 </mx:HBox>
>>>                               </mx:Component>
>>>                         </mx:itemRenderer>
>>>                     </mx:DataGridColumn>
>>>                 </mx:columns>
>>> </mx:DataGrid>
>>>
>>
>> *trecho relevante da Tela2)*
>>
>> <mx:TextInput id="*field_description*" x="92" y="19" width="301"
>>> height="18"/>
>>>
>>
>> Dei uma lida em Events, mas ainda estou na dúvida em qual evento usar.
>>
>> Alguém poderia ajudar?
>>
>> --
>> Sérgio Fantin
>> http://serjaum.wordpress.com
>>
>>  --
>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>> Para enviar uma mensagem, envie um e-mail para [email protected]
>> 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
>>
>
>
>
> --
> Paulo A. Teixeira
> Adobe Certified Expert Flex 3 with AIR
> Adobe Certified Expert Rich Internet Application v1.0
> Adobe Certified Expert ColdFusion 8
> --
> Blog: http://www.pauloteixeira.blog.br
>
> --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para [email protected]
> 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
>



-- 
Sérgio Fantin
http://serjaum.wordpress.com

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
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