Bom dia!
Pessoal, na minha aplicação FLEX, tenho uma tela onde posso fazer consultas direto ao banco de dados.
Mas estou com o seguinte problema, qnd vou usar esta tela, posso fazer qlqr select e no java na hora de fazer o loop para carregar meu arraylist preciso saber quais são meus objetos e eu queria que isso fosse dinamico. Alguém pode me ajudar?
Por exemplo, será que posso mandar um ResultSet do java para a minha aplicação Flex?
você passa os objetos do java para o flex através de VO (Values Objects)
você tem q ter a classe .VO para passar os parametros.
vc usa blazeDs? para conectar o java ao flex?
abçs
Uso sim o BlazeDS, mas para esse caso não queria usar os VOs.
Tenho simplesmente um textarea onde escrevo o select que eu quero e gostaria que no grid aparecesse o retorno, entendeu?
Cara, veja se este código de ajuda:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:RemoteObject id="Controlador" destination="Controlador">
<mx:method name="listar_pessoas"
result="ResultadoListar(event)" fault="ErroListar(event)"/>
</mx:RemoteObject>
<mx:DataGrid x="93" y="43" dataProvider="{lista_pessoas}">
<mx:columns>
<mx:DataGridColumn headerText="Column 1" dataField="codigo"/>
<mx:DataGridColumn headerText="Column 2" dataField="nome"/>
<mx:DataGridColumn headerText="Column 2" dataField="fone"/>
</mx:columns>
</mx:DataGrid>
<mx:Button x="203" y="220" label="Listar" click="chama_lista_clientes()"/>
<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
import mx.rpc.events.FaultEvent;
import mx.controls.Alert;
import mx.collections.ArrayCollection;
[Bindable]
private var lista_pessoas:ArrayCollection;
public function chama_lista_clientes():void
{
Controlador.listar_pessoas();
}
public function ResultadoListar(event:ResultEvent):void
{
lista_pessoas = event.result as ArrayCollection;
Alert.show("ok");
}
public function ErroListar(event:FaultEvent):void
{
Alert.show("Erro");
}
]]>
</mx:Script>
</mx:Application>
No caso, na sua classe controlador você deve ter um método “listarPessoas”, que retorne um ArrayList com os objetos resultados da consulta.Observe que temos um ArrayCollection lista_pessoas que serve de DataProvider para o datagrid.Cada campo do DataGrid deve ter o mesmo nome de atributo dos objetos que compõem o ArrayList, atributos como por exemplo codigo, nome, fone…
espero que isso dê uma luz.
Att.
Meu problema não é nem no flex; e sim no java, pois queria preencher o arraylist com o meu resultset, mas não vou saber qual eh o objeto que vou precisar, pois vou estar fazendo por exemplo um select * from cliente ou pode ser um select * from usuario na minha tela la no flex e queria que ele preenchesse o meu grid na aplicação, entendeu? Mas mesmo assim, obrigado pelo exemplo!
coloca o resultado dentro de um
ai no flex é arrayCollection.