Galera, estou com uma classe a onde eu tenho este metodo:
public PagedDataModel getClientes() {
// TODO: Este método esta sendo executado duas vezes pelo JSF para cada ação na página, verificar uma maneira de executar a lógica abaixo apenas uma vez
PagedDataModel dataModel = null;
List<Cliente> clientes = new ArrayList<Cliente>();
try {
if (this.codIndicador != null && dataTable != null) {
IndicadoresService service = BusinessLocator.getService(IndicadoresService.class);
int startPosition = dataTable.getFirst();
int dimensionToUse = dataTable.getRows();
int totalListSize = service.getQtdeIndicadorCliente(this.codIndicador, this.colunaIndicador).intValue();
if (this.voltaTabela || this.inverteOrdemTabela) {
if (codigoVendedor==null) codigoVendedor=0;
// caso tenha sido clicado para inverter a orderm ou voltar o estado inicial da tabela
clientes = service.getIndColClientes(this.codIndicador , this.colunaIndicador, this.acaoRelatorio,
0, this.dataTable.getRows(), this.getOrderBy());
this.setPageNumber(1);
this.voltaTabela = false;
this.inverteOrdemTabela = false;
this.hmCashDataTable.clear();
} else {
clientes = this.hmCashDataTable.get(startPosition);
if (clientes == null || this.changedOrderBy) {
// caso tenha sido alterado o 'order by' da query ou ainda não tenha sido buscado o cliente referente a págin
clientes = service.getIndColClientes(this.codIndicador, this.colunaIndicador, this.acaoRelatorio,
startPosition, dimensionToUse, this.getOrderBy());
this.hmCashDataTable.put(startPosition, clientes);
this.changedOrderBy = false;
}
}
// cria o 'DataModel' referente a tabela com os registros
dataModel = new PagedDataModel(clientes, totalListSize, dimensionToUse);
}
} catch (Exception e) {
e.printStackTrace();
}
return dataModel;
}
Só que na minha página jspx eu coloco uma combobox e seleciono para ele pesquisar a vendedor e clico em pesquisar ele me retorna 66 paginassões com o mesmo registro q mandei pesquisar ou seja não renderiza pos ser um PagedDataModel. Se tiver alguém para me ajudar eu agradesso.