Gente, estou desenvolvendo um sistema baseado em uma apostila de java com flex, e sou iniciante com flex, por isso preciso da ajuda de vcs!
Meu sistema tem com 2 DataGrids, um de usuarios, e outro de endereços, o de usuarios esta tudo bem, retornando os cadastros do banco, mas o dos endereços não está mostrando nada, o que pode ser?
Vejam na imagem que somente o DataGrid de cima retorna os cadastros do banco.
OBS: Tem endereços cadastrados no banco
Aí vai o codigo desses 2 DataGrids
[code]<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
minWidth=“955” minHeight=“600”>
<fx:Script>
<![CDATA[
import agenda.*;
import flash.net.registerClassAlias;
import mx.managers.PopUpManager;
]]>
</fx:Script>
<s:creationComplete>
<![CDATA[
//registra as classes VO
registerClassAlias("agenda.ContatoVO",agenda.ContatoVO);
registerClassAlias("agenda.EnderecoVO",agenda.EnderecoVO);
registerClassAlias("agenda.EstadoVO",agenda.EstadoVO);
contato.getAll();
this.systemManager.addEventListener("RefreshContatos", RefreshContatos);
]]>
</s:creationComplete>
<fx:Declarations>
<mx:RemoteObject id="contato" destination="contato" fault="OnFault(event)" >
<mx:method name="getAll" result="Contato_OnGetAll(event)"/>
</mx:RemoteObject>
<mx:RemoteObject id="endereco" destination="endereco" fault="OnFault(event)" >
<mx:method name="getByContato" result="Endereco_OnGetByContato(event)"/>
</mx:RemoteObject>
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
protected function OnFault(e:FaultEvent):void {
Alert.show(e.fault.message.toString());
}
protected function Contato_OnGetAll(e:ResultEvent):void {
dgContatos.dataProvider = e.result;
}
protected function Endereco_OnGetByContato(e:ResultEvent):void {
dgEnderecos.dataProvider = e.result;
}
protected function RefreshContatos(e:Event):void {
contato.getAll();
}
]]>
</fx:Script>
<mx:DataGrid id="dgContatos" y="34" left="10" right="10" height="230">
<mx:columns>
<mx:DataGridColumn headerText="Nome" dataField="Nome"/>
<mx:DataGridColumn headerText="Email" dataField="Email"/>
<mx:DataGridColumn headerText="Telefone" dataField="Telefone"/>
</mx:columns>
<mx:change>
<![CDATA[
endereco.getByContato((dgContatos.selectedItem as ContatoVO).id);
]]>
</mx:change>
</mx:DataGrid>
<s:Button x="12" y="5" label="Novo">
<s:click>
<![CDATA[
var telaContao: Contato = new Contato();
PopUpManager.addPopUp(telaContao,this,true);
PopUpManager.centerPopUp(telaContao);
]]>
</s:click>
</s:Button>
<s:Button x="90" y="5" label="Editar" enabled="{dgContatos.selectedItem!=null}" >
<s:click>
<![CDATA[
var telaContao: Contato = new Contato();
telaContao.setContato((dgContatos.selectedItem as ContatoVO));
PopUpManager.addPopUp(telaContao,this,true);
PopUpManager.centerPopUp(telaContao);
]]>
</s:click>
</s:Button>
<s:Button x="168" y="5" label="Excluir"/>
<s:Label x="10" y="272" text="Endereços:"/>
<mx:DataGrid id="dgEnderecos" y="287" right="11" left="9" height="247">
<mx:columns>
<mx:DataGridColumn headerText="Logradouro" dataField="Logradouro" width="350"/>
<mx:DataGridColumn headerText="Numero/Comp" dataField=""/>
<mx:DataGridColumn headerText="CEP" dataField="Cep"/>
<mx:DataGridColumn headerText="Cidade/Estado" dataField=""/>
</mx:columns>
</mx:DataGrid>
</s:Application> [/code]