Primefaces LazyModel datatable always calls for first=0 page

UI Components for JSF
Post Reply
pianodaemon
Posts: 2
Joined: 05 Nov 2011, 22:14

05 Nov 2011, 22:23

I am using the LazyDataModel(of primefaces 2.2.1 over netbeans 7.0.1 with glasshfish 3.1.1(build 12) and Mojarra 2.1.3) to populate a a table with 33 items(A sub set of a long list of parts and can grow or shrink) in pages of 10.
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>  

pianodaemon
Posts: 2
Joined: 05 Nov 2011, 22:14

05 Nov 2011, 22:24


Post Reply

Return to “PrimeFaces”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 37 guests