Costumo a usar rich:datatable e recupero as entidades clicadas com esse código.
public final static Object selecionado(final String formulario,final String tabela) {
try {
final UIComponent comp = FacesContext.getCurrentInstance().getViewRoot().findComponent(formulario);
final javax.faces.component.UIData data = (javax.faces.component.UIData) comp.findComponent(tabela);
return data.getRowData();
} catch (final Exception e) {
throw new IllegalArgumentException("Houve um erro ao tentar selecionar o registro no formulário.\n" +
"Form = " +formulario+"\n" +"Tabela:" +tabela+"\n" +"Veja se os nomes estao corretos <h:form id=\""
+formulario+"\"> e"+" <h:dataTable id=\""+tabela+">",e);
}
}
ps: crio uma coluna do tipo h:commandlink e dela chamo a ação (que executa esse método para ver qual entidade foi a selecionada).
Funciona perfeitamente na primeira página (rich:datascroller) mas quando navego para página 2 ou outra e clico no link (editar) o código não é executado e o que acontece é que o paginamento me envia novamente para página 1.
Há algo que possa fazer?
desde já obrigadão.
Eu até consigo pegar o usuário (prefiro o modo f:ActionlistenerParam) … o problema é que esse mesmo metodo não é nem executado quando eu uso a