Como pegar o id do datatable richfaces

1 resposta
albama

Olá , alguem sabe como pegar o id de um rich:dataTable </rich:dataTable>

A Minha coluna par recuperar o id é essa:

<h:column>
                        <f:facet name="header"><h:outputText styleClass="headerText" value="Excluir" /></f:facet>
   	                  <a4j:commandLink  value="(excluir)" 
	        action="#{AvaliacaoHandler.exclui}">
	                  </a4j:commandLink> 
                    </h:column>

O handler está com esse metodo :
public String exclui (){

return null;
      }

Na verdade ele entra no método, já tentei de várias formas , já usei ActionEvent com argumento no método.

1 Resposta

DirceuSobrinho

vc pode usar a tag: <f:param name="" value=""/>para obter o objeto que vc deseja excluir.

Exemplo:

<h:dataTable var="objeto">

...

<h:column>

  <h:commandLink value="excluir" action="#{managedBean.excluir}" actionListener="#{managedBean.obterObjeto}">
     <f:param name="objeto" id="objeto" value="#{objeto}"/>
  </h:commandLink>

</h:column>

</h:dataTable>

ManagedBean

public void obterObjeto(ActionEvent event) {
		UIParameter parameter = (UIParameter) event.getComponent()
				.findComponent("objeto");
		this.objeto = (Objeto) parameter.getValue();
}

public String excluir(){

  if(objetoDao.excluir(objeto){
      return "sucesso";
  }
  return "error";
 
}

Não sei se é bem isso que vc deseja fazer, mas essa é a forma que eu seleciono um objeto que eu desejo excluir

vc tb pode passar pelo <f:param> o id do objeto. Ex: <f:param value="#{objeto.id}">

Criado 26 de fevereiro de 2008
Ultima resposta 26 de fev. de 2008
Respostas 1
Participantes 2