The pagination works fine filling the currentPageTemplate with 33 items 4 pages 1- 10 etc. When i press a link all the pagination output changes correctly(page 2/4 etc). However the data in the table does not change, just continues to show records 0-9. My override Load method is as follows.
Code: Select all
public LazyDataModel<ProveedorSimpleBean> getAlazyDataModelForProveedorSimpleBeans(final LinkedHashMap<String,Object> parametersHash){
LazyDataModel<ProveedorSimpleBean>x = new LazyDataModel<ProveedorSimpleBean>() {
@Override
public List<ProveedorSimpleBean> load(int first, int pageSize, String sortField, boolean sortOrder, Map<String, String> filters) {
List<ProveedorSimpleBean> lista_retorno = new ArrayList<ProveedorSimpleBean>();
log.log(Level.WARNING, String.valueOf(first));
//first += pageSize;
ResultSet rs = getProveedoresDao().obtenerPaginaConProveedores(
(String)parametersHash.get("titulo"),
(String)parametersHash.get("email"),
(String)parametersHash.get("rfc"),
pageSize, first);
try {
while ( rs.next() ) {
String titulo = rs.getString("titulo");
String rfc = rs.getString("rfc");
String email = rs.getString("email");
String contacto = rs.getString("contacto");
ProveedorSimpleBean plm = new ProveedorSimpleBean(titulo,rfc,email,contacto);
lista_retorno.add(plm);
}
}
catch (SQLException ex) {
Logger.getLogger(LazyDataModelsForProveedores.class.getName()).log(Level.SEVERE, null, ex);
}
return lista_retorno;
}
};
int numero_de_rows = getProveedoresDao().contarProveedores((String)parametersHash.get("titulo"), (String)parametersHash.get("email"), (String)parametersHash.get("rfc"));
x.setRowCount(numero_de_rows);
return x;
}
Code: Select all
INFO: select count(id)::int as total from proveedors where titulo ilike '%%%' and rfc ilike '%%%' and correo_electronico ilike '%%%' AND borrado_logico IS NOT TRUE INFO
correo_electronico ilike '%%%' AND borrado_logico IS NOT TRUE ORDER BY proveedors.id limit 10 OFFSET 0
WARNING: 0 INFO: select titulo,rfc,correo_electronico as email ,'hola' as contacto from proveedors where titulo ilike '%%%' and rfc ilike '%%%' and correo_electronico ilike '%%%' AND borrado_logico IS NOT TRUE ORDER BY proveedors.id limit 10 OFFSET 0
WARNING: 0 INFO: select titulo,rfc,correo_electronico as email ,'hola' as contacto from proveedors where titulo ilike '%%%' and rfc ilike '%%%' and correo_electronico ilike '%%%' AND borrado_logico IS NOT TRUE ORDER BY proveedors.id limit 10 OFFSET 0
WARNING: 0 INFO: select titulo,rfc,correo_electronico as email ,'hola' as contacto from proveedors where titulo ilike '%%%' and rfc ilike '%%%' and correo_electronico ilike '%%%' AND borrado_logico IS NOT TRUE ORDER BY proveedors.id limit 10 OFFSET 0
WARNING: 0 INFO: select titulo,rfc,correo_electronico as email ,'hola' as contacto from proveedors where titulo ilike '%%%' and rfc ilike '%%%' and correo_electronico ilike '%%%' AND borrado_logico IS NOT TRUE ORDER BY proveedors.id limit 10 OFFSET 0
And my index.xhtml
Code: Select all
<h:form>
<br/>
<br/>
<p:dataTable lazy="true" dynamic="true" rows="#{proveedoresMB.itemsPerPage}" style="width:900px" paginator="true" paginatorPosition="bottom" var="proveedor" value="#{proveedoresMB.lm}" >
<f:facet name="header">
Listado de Proveedores
</f:facet>
<p:column style="width:30px">
<p:rowToggler />
</p:column>
<p:column style="width:300px">
<f:facet name="header">
Nombre Comercial
</f:facet>
<h:outputText value="#{proveedor.titulo}" />
</p:column>
<p:column style="width:150px">
<f:facet name="header">
E-mail
</f:facet>
<h:outputText value="#{proveedor.email}" />
</p:column>
<p:column style="width:110px">
<f:facet name="header">
RFC
</f:facet>
<h:outputText value="#{proveedor.rfc}" />
</p:column>
<p:column style="width:150px">
<f:facet name="header">
Contacto
</f:facet>
<h:outputText value="#{proveedor.contacto}" />
</p:column>
</p:dataTable>
</h:form>