| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/11/2009 00:01:24
|
Junior.ngc
Thread.start()
Membro desde: 23/07/2009 07:30:14
Mensagens: 49
Offline
|
olá amigos salvadores do GUJ... vcs me ajudam tanto que colocarei no meu projeto, na parte de agradecimento, o nome de vcs... rs
minha duvida agora eh com combobox no flex... na verdade consigo povoar a combo, normal, mas o que quero eh o seguinte... na minha combo Estado, por exemplo, quando selecionar um determinado estado, eu consiga pegar o ID do estado selecionado para depois pegar todas as cidades do estado e povoar uma outra combo...
não estou conseguindo pegar esse parametro, acho q seria o itemIndex, não é? mas quando faço isso, ele da o valor de acordo com a ordem que aparecem na combo... 0,1,2,3... e naum os valores do ID q mando...
mas tudo isso fiz no braço, nada dinamico... mas quero que fique dinamico
então vou postar meus codigos desde a parte java onde crio um list com os estados ateh a chegada dele no flex
METODO LISTAR TODOS OS ESTADOS - farei um select no banco selecionando todos os estados e ordenando pela sigla
MÉTODO PARA LISTAR TODAS AS CIDADES DE UM ESTADO - Quando selecionar o estado, o evento change vai chamar um método que selecionará todas as cidades daquele estado escolhido
COMBO NO FLEX - minhas duas comboBox
FUNCTIONS QUE SERVIRÁ PARA CHAMAR OS MÉTODOS JAVA E PREENCHER AS COMBO
Amigos, se puderem me ajudar, agradecerei muito
Abraços
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/11/2009 00:41:52
|
viniciusfaleiro
Virtual Machine Man
![[Avatar]](/images/avatar/839185ccf72cdda4fca46bfcc95208f0.jpg)
Membro desde: 22/03/2008 20:07:50
Mensagens: 524
Offline
|
Cara.. vc vai ter q implementar um model pra esta list ai... Dai vc cria um bean estado que tem ID + Descricao... e trata o model pra retornar o toString() soh como descricao.. Bom.. dai vc trata como quiser.. nao sei se da pra fazer isso ai mas acho q seria a melhor maneira.. veja como fiz em J2SE com meus Beans pra fazer um model personalizado de uma Jtree
|
Linkedin: http://www.linkedin.com/pub/vinicius-faleiro/32/697/624 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/11/2009 08:15:10
|
Junior.ngc
Thread.start()
Membro desde: 23/07/2009 07:30:14
Mensagens: 49
Offline
|
Olá Vinicius... blz?
Cara, até entendi o que disse, mas qual a diferença em criar um Model e um list de uma classe?? o problema não seria o modo como irei atribuir esses valores na Combo do Flex??
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/11/2009 08:20:52
|
Bruno Sales
Entusiasta Java
Membro desde: 29/09/2009 13:40:13
Mensagens: 22
Offline
|
vamos la.
Primeiro vamos começar pela suas classes java. Elas estão ok, tirando por 1 linha:
no método que lista todas as cidades de um estado vc tem essa linha:
de onde vem esse id? Acho que esta faltando um parametro no metodo. A assintatura entao deveria ser algo do tipo public List<Cidades> preencherCombo(Integer id).
---
Agora vamos pro flex.
Primeiro uma correção, que todo mundo faz quando começa com flex. Nos handles de evento, não é necessário colocar as "{}" por tanto tente usar sempre algo:
Agora voltando a lógica, ela está correta, o que falta ai é criar o método listarCidades() que fará a seguinte rotina:
O que eu fiz aqui foi, eu peguei o combo de estados (comboEstados) e peguei o item selecionado e passei o atributo ID para a chamada do método. Lembrando que eu não tenho certeza se esse ID é todo maiusculo. (acho que sim baseado pelo set da classe java).
Agora como o resto foi estruturado e como vc pega o resultado de sua chamada eu desconheço, então dai pra frente é contigo. =)
|
Bruno Sales
www.dclick.com.br
blog.dclick.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/11/2009 08:23:02
|
viniciusfaleiro
Virtual Machine Man
![[Avatar]](/images/avatar/839185ccf72cdda4fca46bfcc95208f0.jpg)
Membro desde: 22/03/2008 20:07:50
Mensagens: 524
Offline
|
E ai.. blz??? A vantagem do model é q vc pode model[a-lo de acordo com sua necessidade.. no seu caso qdo vc pegar o valor do combo vc pode customizar o model para voltar o ID q vc precisa e não o Estado... Assim vc popula o outro box como quiser...
|
Linkedin: http://www.linkedin.com/pub/vinicius-faleiro/32/697/624 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/11/2009 15:35:54
|
Junior.ngc
Thread.start()
Membro desde: 23/07/2009 07:30:14
Mensagens: 49
Offline
|
Olá Bruno.
Quanto ao metodo realmente a assinatura estava errada... não percebi isso enquanto postava...
bom, num teste q fiz de flex pra flex funciona perfeitamente, mas quando coloco o java na parada não aparece nada. A combo fica vazia... tem alguma coisa a ver se os atributos são publicos ou privados?? fiz até uma alteração nas minhas classes quanto a isso e nada ... msm colocando tudo como publico não aparece nada tbm... naum acusa nenhum erro tbm... simplesmente não preenche a combo
Abaixo mostro como faço a chamado do metodo, como trato o result e o fault...
e a combo ficou assim
não consegui encontrar erro nisso... há algum??
valeu msm amigo
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/11/2009 16:29:04
|
Junior.ngc
Thread.start()
Membro desde: 23/07/2009 07:30:14
Mensagens: 49
Offline
|
Perfeito. Achei o erro amigo.. Burrice minha pacas... Quando mandava pro Controle chamar a DAO, fazia meu controle retornar VOID ... rsrsrsrsrsrsrs... ai naum há combo no mundo q mostraria algo...rsrsrsrs
Mas amigo, agora pra variar surge outro problema... seguinte, quando retorno do banco um registro qualquer (Cliente)... o cara mora num estado. Como faço minha combo ficar marcada com o estado que está registrado no Banco?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/11/2009 16:47:41
|
JavaKaiser
JavaBaby
![[Avatar]](/images/avatar/c3d54b1a928304d7dfd75c1c8f5ace33.jpg)
Membro desde: 24/04/2008 08:46:57
Mensagens: 80
Offline
|
Pessoal, só aproveitando o topico, pq ja procurei aqui e nao sei se procurei pouco ou se nao tem mesmo
mas alguem roda Flex + Java com glassfish?
pq eu tentei umas coisas e só consegui rodar com tomcat
isso no blazeds
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/11/2009 17:04:04
|
PedroGuerra
JavaBaby
Membro desde: 03/11/2009 16:15:55
Mensagens: 94
Localização: Londrina - PR
Offline
|
Se voce tiver usando entidades preenchendo a combo com uma entidade voce pode criar um metodo assim para achar o indice no arraycollection:
Dai vc da um combobox.selectedIndex = getIndexInCollection(seuArrayDataProvider, Objeto);
Se nao vc faz um for each(var a:String in ArrayCollection) for(var i:int=0;i<arraycollection.leght();i++) if(a == arraycollection[i]) return i
|
Aqui ou é 0 ou é 1. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/11/2009 01:14:38
|
Junior.ngc
Thread.start()
Membro desde: 23/07/2009 07:30:14
Mensagens: 49
Offline
|
Olá Pedro.. blz??
cara, funcionou o jeito que me passou... muito grato... mas ele só funciona quando uso um array feito pro proprio AS... as combos que faço dessa forma estão puxando perfeito..
tenho um array de estado civil feito no AS
E em certo momento quando qro deixar a combo com a opçao salva no banco.. se solteiro, uso a rotina abaixo.
comparo com o gridCliente.selectedItem pois meu arrayCollection de pesquisa de cliente q o java devolve vai para o dataProvider desse grid... Isso funciona perfeito
mas meu problema está sendo com os arrays que o flex recebe do java... tipo o de estado... no DAOEstado tenho um metodos chamado preencherCombo que faz o seguinte
Seleciona todos os estados do banco, monta o map e coloca num array que será retornado ao Flex..
Mas quando tento fazer a msm coisa que faço com estado civil ele não faz. Se peço pra que ele me mostre o lenght desse array num Alert.Show ele já não executa nada q esteja desse alert para baixo...
recebo o resultado do java da seguinte forma abaixo
ai para tentar setar a combo conforme o estado que foi gravado no registro de um cliente, como minha pesquisa fica numa grid, eu comparo o codigo do array listaComboEstado com o gridCliente.selectedItem.estado ...
mas nada acontece... jah tentei colocar antes de começar esse for um Alert.show(listaComboEstado.lenght) mas não funciona... nenhuma msg vai a tela... quando consegui imprimir esse lenght, ele acusa 0... ai nem entra no loop...
tem um motivo para isso ocorrer?? teria uma outra forma de fazer isso??
desde já muito grato
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/11/2009 10:55:58
|
PedroGuerra
JavaBaby
Membro desde: 03/11/2009 16:15:55
Mensagens: 94
Localização: Londrina - PR
Offline
|
Não deu pra eu ver nos minimos detalhes seu codigo mais dei uma olhada por cima.
Ai vai algumas dicas de boas praticas nessas situações.
tenta fazer um cast para o tipo de dado que voce quer na hora de comparar. ex:
Coloca um breakpoint no resulthandler e ve o conteudo da variavel evt.result para ver se ta vindo os dados do java.
Se tiver vindo do java não tem porque o array ta vazio.
|
Aqui ou é 0 ou é 1. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/11/2009 11:14:05
|
AUser
GUJ Master
![[Avatar]](/images/avatar/ed3b5b6f006e79c5a2f0fff4b91c94cd.jpg)
Membro desde: 23/10/2008 06:39:07
Mensagens: 1092
Offline
|
junior.gnc, Sugiro que você dê olhada em um framework chamado Cairngorm e um padrão de projeto chamado ModelLocator. Numa boa, seu código não está legal e vai ser difícil dar manutenção nele e modificar, inclusive controlar essas coisas básicas que precisa. Usando o Cairngorm e esse padrão te ajudaria MUITO. E sugiro também que use o Hibernate. []'s
This message was edited 1 time. Last update was at 18/11/2009 11:28:06
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/11/2009 11:21:16
|
PedroGuerra
JavaBaby
Membro desde: 03/11/2009 16:15:55
Mensagens: 94
Localização: Londrina - PR
Offline
|
Olá AUser,
Vou dar uma olhada sim valeu pela dica.
E eu já uso Hibernate. Na verdade estou brincando com flex faz uns 4 meses e não tive tempo de estudar mto. Pois estou trabalhando com ele ja desdo primeiro dia que eu comecei.
Eu sei que não é a melhor maneira de se desenvolver mais no momento é o que eu tenho.
|
Aqui ou é 0 ou é 1. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/11/2009 11:27:34
|
AUser
GUJ Master
![[Avatar]](/images/avatar/ed3b5b6f006e79c5a2f0fff4b91c94cd.jpg)
Membro desde: 23/10/2008 06:39:07
Mensagens: 1092
Offline
|
Ô Pedro,
Me desculpa rapaz, errei a destinação. rsrsrs. Era pro dono do tópico isso. O junior.gnc.
Eu acabei errando o destinatário aqui, rs. Desculpas.
[]'s
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/11/2009 11:34:29
|
PedroGuerra
JavaBaby
Membro desde: 03/11/2009 16:15:55
Mensagens: 94
Localização: Londrina - PR
Offline
|
Ah, ^^ hehe
de boa.
Fiquei imaginando porque meu codigo tava tao ruim assim hehe.
|
Aqui ou é 0 ou é 1. |
|
|
 |
|
|