err, bom... protected function getList():void
{
servico.buscar_todos();
servico.addEventListener(ResultEvent.RESULT,
function onResultservico(event:ResultEvent):void
{
JanelaPesquisa.Lista2 = event.result as ArrayCollection;
abrePesquisaCor();
}
);
}
tentei de vários jeitos, primeiro um array collection que eu passava para a
função abrePesquisaCor, mas isso é indiferente, assim como esta, abro a janela
da pesquisa e a primeira vez esta tudo certo, mas a segunda os comandos:
JanelaPesquisa.Lista2 = event.result as ArrayCollection;
abrePesquisaCor();
são executados 2 vezes, a terceira vez 3, e assim sucessivamente, abrindo cada
vez mais janelas e fazendo a busca ficar mais lenta...
Tentei só atribuir o valor dentro do result e (por isso que agora esta assim),
e chamar outra função para abrir a tela de busca, mas antes da busca terminar
que leva aprox. 1 segundo a tela já está aberta, procurei sobre thread, mas
pelo que lí não tem, ou não encontrei...
Gostaria de saber por que cada vez é executada +1?
PS: Não é a janela que não fecha, realmente o código é executado mais vezes..
Se teria como arrumar assim?
Da segunda maneira como poderia fazer para terminar a busca e então chamar a
função para abrir a tela?
PS: Tudo dentro do result será repetido :S
Qual o melhor/ mais profissional jeito para fazer isto?
Obrigado.
From: Cristian Edson Göhl
Sent: Monday, June 08, 2009 2:27 PM
To: [email protected]
Subject: [flexdev] Re: List
cara obrigado por tentar ajudar , acabei de conseguir..
public var gridTeste: DataGrid = new DataGrid();
protected function getList():void
{
servico.buscar_todos();
servico.addEventListener(ResultEvent.RESULT,
function onResultGetList(event:ResultEvent):void
{
var listacor:ArrayCollection = new ArrayCollection;
var codigo: DataGridColumn = new DataGridColumn("codigo");
var nome: DataGridColumn = new DataGridColumn("nome");
var arrayColuns: Array = new Array();
arrayColuns.push(codigo);
arrayColuns.push(nome);
gridTeste.x = 10;
gridTeste.y = 171;
gridTeste.width = 451;
gridTeste.height = 183;
gridTeste.columns = arrayColuns;
listacor = event.result as ArrayCollection;
gridTeste.dataProvider = listacor;
}
);
this.addChild(gridTeste);
}
o getlist no creationcomplete..
agora vou continuar meu projeto
From: Rafael Gomes Dantas
Sent: Monday, June 08, 2009 2:01 PM
To: [email protected]
Subject: [flexdev] Re: List
Do lado do Java, é só retornar que o framework faz o trabalho sujo. Você
poderia colar pra gente as partes relevantes do lado flex?
2009/6/7 Cristian Edson Göhl <[email protected]>
estou utilizando BlazeDS, adicionei no bean System.out.print de codigo e
nome, que são os atributos, e esta passando todos, mas tentei atribuir o valor
retornado para um List e ArrayCollection sem sucesso, você tem um exemplo?
Obrigado já por esta resposta..
From: Rafael Gomes Dantas
Sent: Sunday, June 07, 2009 8:20 PM
To: [email protected]
Subject: [flexdev] Re: List
Se você estiver usando AMF (BlazeDS ou Lifecycle), essa conversão é
implícita. Os resultados chegarão no flex como um Array ou um ArrayCollection.
(não lembro qual, mas o acesso aos dois é bem similar.)
2009/6/3 Cristian G <[email protected]>
como passar esse list para um list do flex?
On 3 jun, 09:22, Cristian Edson Göhl <[email protected]> wrote:
> Em java eu utilizava:
>
> List<Object> valores = new ArrayList<Object>();
>
> try {
>
> for (Cliente c: clienteDAO.buscar_todos()){
>
> valores.add(new ClienteApp(c));
>
> ...
>
> agora em flex estou com dúvida...
>
> service2.buscar_todos(), vai me retornar um List
>
> public List<Cor> buscar_todos() throws SQLException{
>
> Connection conn = null;
>
> PreparedStatement stmt = null;
>
> ResultSet rs = null;
>
> List<Cor> cors = null;
>
> Cor cor = null;
>
> try {
>
> conn = conexao.open();
>
> stmt = conn.prepareStatement(BUSCAR_TODOS);
>
> rs = stmt.executeQuery();
>
> cors = new ArrayList<Cor>();
>
> while (rs.next()){
>
> cor = new Cor();
>
> cor.setCodigo(rs.getInt("codigo"));
>
> cor.setNome(rs.getString("nome"));
>
> cors.add(cor);
>
> }
>
> if (cors.size()<1)
>
> throw new SQLException("Nenhuma cor cadastrada.");
>
> } catch (SQLException e) {
>
> throw new SQLException("Não foi possível consultar a
cor."+e.getMessage());
>
> } finally {
>
> conexao.close(conn, stmt, rs);
>
> }
>
> return cors;
>
> }
>
> a idéia é adicionar esses valores em um datagrid, como eu adicionava em
table...
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---
<<inline: Emoticon2.gif>>
<<inline: Emoticon1.gif>>
