Parece ser o mesmo problema do tópico não resolvido http://www.guj.com.br/posts/list/121608.java#657992 mas com uma variação:
Utilizando o rich:datascroller para paginação de tabelas, o link funciona na primeira página. Nas demais ele dá um refresh na página e a tabela “pula” para a primeira página sem invocar o método do link. O bizarro é que na primeira página o link funiciona perfeitamente bem. Testei em todas as tabelas do sistema e ele apresenta o mesmo comportamento para todas.
Estou populando a tabela com uma java.util.List. Já tentei com javax.faces.model.DataModel e não adiantou.
Obrigado pela ajuda.
O código é:
<rich:dataTable id="tabelaAtividade" colunms="3"
columnsWidth=" , ,50px" value="#{atividadeBean.listaAtividade}"
var="atividade" styleClass="tabela"
rowClasses="tabela-linha1,tabela-linha2"
headerClass="tabela-cabecalho" rows="15">
<rich:column id="column1" sortBy="#{atividade.codigo}">
<f:facet name="header">
<h:outputText value="Código"></h:outputText>
</f:facet>
<h:outputText id="id_atividade" value="#{atividade.codigo}"></h:outputText>
</rich:column>
<rich:column id="column2" sortBy="#{atividade.descricao}">
<f:facet name="header">
<h:outputText value="Descrição da atividade"></h:outputText>
</f:facet>
<h:outputText id="descricao" value="#{atividade.descricao}"></h:outputText>
</rich:column>
<rich:column id="column3">
<f:facet name="header">
<h:outputText value="Ação" />
</f:facet>
<h:commandLink styleClass="tabela-acoes" type="submit"
action="#{atividadeBean.exibirAtividade}" title="Consultar">
<f:setPropertyActionListener target="#{atividadeBean.atividade}"
value="#{atividade}" />
<f:setPropertyActionListener target="#{menuBean.opcao}"
value="#{menuBean.opcaoConsulta}" />
<h:graphicImage url="/imagens/icone-consultar.gif" alt="Consultar" />
</h:commandLink>
</rich:column>
</rich:dataTable>
<rich:datascroller for="tabelaAtividade" maxPages="10"
pagesVar="testeRequest">
<f:facet name="first">
<h:graphicImage value="/imagens/icone-paginacao-primeiro.gif" />
</f:facet>
<f:facet name="first_disabled">
<h:graphicImage value="/imagens/icone-paginacao-branco.gif" />
</f:facet>
<f:facet name="fastrewind">
<h:outputText value="" />
</f:facet>
<f:facet name="fastrewind_disabled">
<h:outputText value="" />
</f:facet>
<f:facet name="previous">
<h:graphicImage value="/imagens/icone-paginacao-anterior.gif" />
</f:facet>
<f:facet name="previous_disabled">
<h:graphicImage value="/imagens/icone-paginacao-branco.gif" />
</f:facet>
<f:facet name="next">
<h:graphicImage value="/imagens/icone-paginacao-proximo.gif" />
</f:facet>
<f:facet name="next_disabled">
<h:graphicImage value="/imagens/icone-paginacao-branco.gif" />
</f:facet>
<f:facet name="fastforward_disabled">
<h:outputText value="" />
</f:facet>
<f:facet name="fastforward">
<h:outputText value="" />
</f:facet>
<f:facet name="last">
<h:graphicImage value="/imagens/icone-paginacao-ultimo.gif" />
</f:facet>
<f:facet name="last_disabled">
<h:graphicImage value="/imagens/icone-paginacao-branco.gif" />
</f:facet>
</rich:datascroller>
O backBean é:
public List<Atividade> getListaAtividade() {
return listaAtividade;
}
public void setListaAtividade(List<Atividade> listaAtividade) {
this.listaAtividade = listaAtividade;
}
public String exibirAtividade() {
return "cadastroAtividade";
}