Pessoal,
estou usando o datatable do prime para trazer os registros de uma consulta a um <h:inputbox …/>. Só que o método que defini para fazer a pesquisa não está sendo chamado:
no controller:
public DataModel getListagemEntregues() {
DaoSaidaDocumento dao = new DaoSaidaDocumento();
try {
model = new ListDataModel(dao.listarEntregues( getParametro(), getOperador(), getFiltro().trim() ));
} catch (Exception ex) {
System.err.println(LogUtils.getSaida("Controle", ex, this.getClass().getName()));
}
return model;
}
na view
<p:dataTable value="#{controllerSaidaDocumento.listagemEntregues}"
var="item"
rendered="#{controllerSaidaDocumento.listagemEntregues.rowCount > 0}"...
O datatable do prime aceita o javax.faces.DataModel?
Qual poderia ser o problema?
Obrigado.
Vamos lá
Não é uma boa pratica fazer isso
public DataModel getListagemEntregues() {
DaoSaidaDocumento dao = new DaoSaidaDocumento();
try {
model = new ListDataModel(dao.listarEntregues( getParametro(), getOperador(), getFiltro().trim() ));
} catch (Exception ex) {
System.err.println(LogUtils.getSaida("Controle", ex, this.getClass().getName()));
}
return model;
}
eu faria desse jeito
[code]private DataModel listDocEntregue;
private List listDocEntregues = new ArrayList //eu nao sei como chama sua entidade coloquei assim DocEntregue
DaoSaidaDocumento dao = new DaoSaidaDocumento();
@PostCostruct
public void init(){
try {
listDocEntregue = dao.listarEntregues(); //Precisava ver a sua query tbm se realmente está pegando esses dados
} catch (Exception e) {
e.printStackTrace();
}
}
public DataModel getListDocEntregue() {
List list = getListDocEntregues(); // pegando o metodo get da lista para não ficar carregando toda vez
listDocEntregue = new ListDataModel(list);
return listDocEntregue;
}
[/code]
Testa ai