Chamar método em DataTable JSF Criada via classe

2 respostas
I

Fala galerinha…

seguinte, tenho aqui uma datatable que é dinâmica, por isso tive gerar ele toda numa classe e fazer um binding no rich:datatable

consegui montar ela toda bunitinha e já aparece na tela, porém o meu problema é que não consegui fazer um comandlink chamar o método que criei.

por exemplo: eu tenho um botão que é um comandLink e na action do comandLink tenho que chamar um método.

tentei usar o MethodExpression, mas não consegui fazer funcionar, vejam meu código:

//adicionando o método a ser chamado
MethodExpression actionExpression = FacesContext.getCurrentInstance().getApplication().				getExpressionFactory().createMethodExpression(FacesContext.getCurrentInstance().getELContext(),
"#{torreMB.teste}",String.class,new Class[0]);

//Coluna Editar
coluna = new HtmlColumn();
imagem = new HtmlGraphicImage();
comando = new HtmlAjaxCommandLink();
comando.setActionExpression(actionExpression);

imagem.setUrl("../img/edit.gif");
imagem.setStyle("border:0");
comando.getChildren().add(imagem);
coluna.getChildren().add(comando);
grupoColuna.getChildren().add(coluna);

alguém pode me ajudar com isso? :wink:

2 Respostas

ivela

Olá!

Você registrou seu ManagedBean no faces-config.xml?
Basicamente, seria só indicar na action seu managed bean e o método que você quer.
Dentro do código, você pega o item selecionado com dataModel.getRowData(), fazendo um casting para sua classe.

Abraços!!

I

Opa alevi, valeu pela resposta, mas o meu caso a DataTable é toda montada na classe…e a minha dúvida é como setar a action la na Classe, entendeu?

Você tem alguma idéia de como fazer isso?

eu tentei fazer com o MethodExpression como postei lah em cima, mas não consegui!!!

vlwz!! :wink:

Criado 17 de junho de 2009
Ultima resposta 18 de jun. de 2009
Respostas 2
Participantes 2