criar uma function public para funcionar como setter não adianta?
desde que você pegue a instância correta da tela deveria funcionar.

Em 28 de maio de 2010 11:51, Sérgio Fantin
<[email protected]>escreveu:

> 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
>



-- 
______________________

Atenciosamente,

Rafael Comim

-- 
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