[Resolvido] Rich:dataTable exibindo quantidade de registros encontrados

1 resposta
Kleber-rr

Olá pessoal, bom dia.

Estou com uma dúvida: Como eu faço meu rich:dataTable exibir a quantidade de itens encontrados durante a consulta??

Por exemplo: Foram encontrados (X) registros durante a pesquisa.
Dei uma pesquisada sobre o Projection.rowCount, mas não sei como ele se comportaria dentro do dataTable.

Meu Dao está assim:
public List<Funcionario> pesquisaFuncionarios(String nome, String cpf,
            String rg) {
        Criteria c = session.createCriteria(Funcionario.class);
        List<Funcionario> results = new ArrayList<Funcionario>();
        c.add(Restrictions.ilike("nome", nome, MatchMode.ANYWHERE));
        c.add(Restrictions.like("cpf", cpf, MatchMode.ANYWHERE));
        c.add(Restrictions.like("rg", rg, MatchMode.ANYWHERE));
        results = (List<Funcionario>) c.list();
        getTotalRegistros();
        System.out.println("Foram encontrados " + getTotalRegistros()
                + " registros");
        return results;
    }

    public int getTotalRegistros() {
        Criteria c = session.createCriteria(Funcionario.class);
        c.setProjection(Projections.rowCount());
        return (Integer) c.uniqueResult();
    }

Agradeço a ajuda.

1 Resposta

Kleber-rr

Resolvido.
Tive de criar um método com criteria no DAO usando o Projections.rowCount com as devidas restrições, para me retornar um int, instanciar esse metodo no Bean, e no dataTable, usando o facet:header, chamei o método.

Valeu.

Criado 22 de outubro de 2010
Ultima resposta 22 de out. de 2010
Respostas 1
Participantes 1