[RESOLVIDO] * http://serjaum.wordpress.com/2010/05/29/flex-passando-valores-entre-telas-custom-events/ *
Obrigados a todos que ajudaram! 2010/5/28 Rafa Comim <rafaco...@gmail.com> > 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 > <sergio.lnd.fan...@gmail.com>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 <pauloaugus...@gmail.com> >> >> 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 <sergio.lnd.fan...@gmail.com> >>> >>>> 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 flexdev@googlegroups.com >>>> Para sair da lista, envie um email em branco para >>>> flexdev-unsubscr...@googlegroups.com >>>> 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 flexdev@googlegroups.com >>> Para sair da lista, envie um email em branco para >>> flexdev-unsubscr...@googlegroups.com >>> 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 flexdev@googlegroups.com >> Para sair da lista, envie um email em branco para >> flexdev-unsubscr...@googlegroups.com >> 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 flexdev@googlegroups.com > Para sair da lista, envie um email em branco para > flexdev-unsubscr...@googlegroups.com > 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 flexdev@googlegroups.com Para sair da lista, envie um email em branco para flexdev-unsubscr...@googlegroups.com Mais opções estão disponíveis em http://groups.google.com/group/flexdev