Bom dia pessoal… estou com um problema usando o richfaces, alguem poderia me ajudar?? sou novata em java… :lol:
bom, é o seguinte, eu tenho uma rich:scrollableDataTable e precisa passar o parametro da linha seleciona, já tentei de tudo: f:param, a4j:actionparam, rich:dndParam
todos funcionam fora da tabela, mas quando coloco dentro da tabela e dá erro… mas eu preciso dele dentro da tabela para passar o parametro para o meu Bean… como eu posso fazer isso?? :shock:
fiz algumas mudanças… mas mesmo assim retorna null… eu quero que retorna a linha q eu selecionei da tabela… eu preciso do id do componente da linha…
agora meu codigo esta assim:
meu bean:
privateContatocontato=newContato();//para a tabela do richfacesprivateDataModelcomponenteTabela;privateList<Contato>listaContatos;publicList<Contato>getListaContatos(){Sessionsession=HibernateUtil.currentSession();Dao<Contato>dao=newDao<Contato>(session,Contato.class);returndao.list();}publicDataModelgetComponenteTabela(){returncomponenteTabela;}publicvoidsetComponenteTabela(DataModelcomponenteTabela){this.componenteTabela=componenteTabela;}publicContatogetContato(){returncontato;}publicvoidsetListaContatos(List<Contato>listaContatos){this.listaContatos=listaContatos;}publicvoidselecionarTeste(ActionEventevent){componenteTabela=newListDataModel(this.listaContatos);contato=(Contato)componenteTabela.getRowData();System.out.println(contato);// **** AQUI É PARA O MEU TESTE E RETORNA NULL}
precisa dar uma arrumado nos métodos do managedbean:
OBS: Coloquei alguns comentarios em maiusculo no codigo.
privateContatocontato=newContato();privateDataModelcomponenteTabela;//ESTE COMPONENTE QUE VC COLOCA NO VALUE DA TABLE DO XHTMLprivateList<Contato>listaContatos;//CONSTRUTOR PARA INICIALIZAR OS DADOS DA TABELA.publicContatoBean(){listaContatos=getListaContatos();componenteTabela=newListDataModel(this.listaContatos);}publicList<Contato>getListaContatos(){Sessionsession=HibernateUtil.currentSession();Dao<Contato>dao=newDao<Contato>(session,Contato.class);returndao.list();}publicDataModelgetComponenteTabela(){returncomponenteTabela;}publicvoidsetComponenteTabela(DataModelcomponenteTabela){this.componenteTabela=componenteTabela;}publicContatogetContato(){returncontato;}publicvoidsetListaContatos(List<Contato>listaContatos){this.listaContatos=listaContatos;}publicvoidselecionarTeste(ActionEventevent){//TIREI A LINHA QUE INICIALIZA OS DADOS DA TABELA DAQUI, E COLOQUEI NO CONSTRUTOR DO MANAGED BEAN.contato=(Contato)componenteTabela.getRowData();System.out.println(contato);}
Agora precisa alterar seu XHTML:
Faz essas alterações para ver se funciona.
Para vc deixar seus códigos formatados, use a tag [ code ] código [ / code ]
F
fermary
oi rsakurai
agora eu acho q deu certo!!!
muuuuito obrigada viu!!! eu estava nisso a dias…
só falta fazer mais alguns testes… mas já consegui passar o id do jeito q vc falou mesmo…