Pessoal fiz o seguinte exemplo:
jsp<a4j:form id="form1" ajaxSubmit="true" ignoreDupResponses="true" requestDelay="500">
<h:inputText value="#{detalhaVotacaoBean.ordenacao}"/>
<a4j:commandLink actionListener="#{detalhaVotacaoBean.setOrdem}"
reRender="carList">
<f:verbatim> aee </f:verbatim>
<f:attribute name="ordenacao" value="nr_zona"/>
</a4j:commandLink>
<h:commandButton value="Cadastrar" type="button">
<a4j:support event="onclick" actionListener="#{detalhaVotacaoBean.setOrdem}" />
</h:commandButton>
<rich:dataTable width="300" id="carList" rows="10"
value="#{detalhaVotacaoBean.votacao}" var="votacao">
<f:facet name="header">
<rich:columnGroup>
<h:column>
<h:outputText styleClass="headerText" value="nome" />
</h:column>
<h:column>
<h:outputText styleClass="headerText" value="Candidato" />
</h:column>
<h:column>
<h:outputText styleClass="headerText" value="Zona" />
</h:column>
<h:column>
<h:outputText styleClass="headerText" value="Bairro" />
</h:column>
<h:column>
<h:outputText styleClass="headerText" value="Votos" />
</h:column>
</rich:columnGroup>
</f:facet>
<h:column>
<h:outputText value="#{votacao.nm_vila_jardim}" />
</h:column>
<h:column>
<h:outputText value="#{votacao.nm_pessoa}" />
</h:column>
<h:column>
<h:outputText value="#{votacao.nm_bairro}" />
</h:column>
<h:column>
<h:outputText value="#{votacao.nr_zona}" />
</h:column>
<h:column>
<h:outputText value="#{votacao.vl_votacao_candidato}" />
</h:column>
</rich:dataTable>
<rich:spacer height="15" />
</a4j:form>
public class DetalhaVotacaoBean {
public DetalhaVotacaoBean() {
}
private String ordenacao = null;
public Result getVotacao() {
Collection toReturn = new ArrayList();
ResultSet rs = null;
try {
Connection conexao = Conexao.getInstancia().conectarDb();
PreparedStatement st = conexao.prepareStatement("SELECT tb_pessoa.nm_pessoa, tb_bairro.nm_bairro, tb_zona.nr_zona, tb_vila_jardim_bairro.nm_vila_jardim, vl_votacao_candidato FROM tb_votacao JOIN tb_pessoa ON tb_pessoa.cd_pessoa = tb_votacao.cd_pessoa JOIN tb_vila_jardim_bairro ON tb_vila_jardim_bairro.cd_vila_jardim = tb_votacao.cd_vila_jardim JOIN tb_bairro ON tb_bairro.cd_bairro = tb_vila_jardim_bairro.cd_bairro JOIN tb_zona ON tb_zona.cd_zona = tb_bairro.cd_zona ORDER BY ?");
st.setString(1, ordenacao);
rs = st.executeQuery();
} catch (Exception e) {
System.out.println(e.getMessage());
}
return ResultSupport.toResult(rs);
}
public void setOrdenacao(String ordenacao) {
this.ordenacao = ordenacao;
}
public String getOrdenacao() {
return ordenacao;
}
public void setOrdem(ActionEvent e){
System.out.println("aeeee");
this.ordenacao = "nm_bairro";
}
}
<managed-bean>
<managed-bean-name>detalhaVotacaoBean</managed-bean-name>
<managed-bean-class>br.com.dnasolution.bean.DetalhaVotacaoBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
ele executa o ajax pois imprime no console o aeee mas nao da o reRender na tabela.. nao esta trocando a ordenacao.. alguem sabe o pq??
obrigado