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