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
