pessoal, implementei a rotina abaixo, porem contem registro no meu banco de dados, porem nao aparece nenhum registro no datatable, segue abaixo o meu codito :
****beanprivateList<Cadusu>cadusu;privateLazyDataModel<Cadusu>dataModel;publicLazyDataModel<Cadusu>getDataModel(){@OverridepublicList<Cadusu>load(intfirst,intpageSize,Stringstring,booleanbln,Map<String,String>map){List<Cadusu>list=cadususervico.buscafindCadusu(first,pageSize);returnlist;}*/@OverridepublicList<Cadusu>load(inti,inti1,Stringstring,SortOrderso,Map<String,String>map){List<Cadusu>list=cadususervico.buscafindCadusu(i,i1);returnlist;}};dataModel.setPageSize(10);}returndataModel;}****dao@Interceptors({GerenciaTransacaoInterceptor.class})publicList<Cadusu>findCadusu(intstartingAt,intmaxPerPage){Stringquery="select u from Cadusu u where u.status = 'ATIVO'";emAux.createQuery(query).setHint("eclipselink.refresh",true).setFirstResult(startingAt).setMaxResults(maxPerPage).getResultList();return(List<Cadusu>)emAux.createQuery(query).getResultList();}**********View<p:dataTableid="lazyDataTablenovo"value="#{cadguiaMbean.dataModel}"var="cadusu"paginator="true"rows="10"dynamic="true"lazy="true"selection="#{cadguiaMbean.cadusu}"selectionMode="single"paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"rowsPerPageTemplate="5,10,15"style="width: 80%;margin-left: 10%;margin-right: 10%;"><p:ajaxevent="rowSelect"update=":playerDialogForm"oncomplete="playerDetails.show()"/><p:column><f:facetname="header">Name</f:facet><h:outputTextvalue="#{cadusu.nomeusu}"/></p:column></p:dataTable>
@Interceptors(AuditInterceptor.class)publicList<Usuariobib>listaUsuariobibPaginada(Map<String,Object>montaParametros,intfirst,intpageSize,StringsortField,org.primefaces.model.SortOrdersortOrder){log.debug("########### sortField: "+sortField);log.debug("########### sortOrder: "+sortOrder);StringorderBy=ServiceUtil.montaOrderBy(sortField,true,PREFIXO_OBJETO);FiltrosConsultafiltros=criaFiltros(montaParametros);returncrudService.executeQuery(QUERY_Usuarios,orderBy,first,pageSize,filtros,null);}@TransactionAttribute(TransactionAttributeType.NEVER)publicintlistaUsuariobibCount(Map<String,Object>montaParametros){FiltrosConsultafiltros=criaFiltros(montaParametros);Longresultado=(Long)crudService.executeQuery("select COUNT(u) from Usuariobib u ",null,filtros).get(0);returnresultado.intValue();}
valeu !
E
evandro_araujo
Vlw poderia postar os metodos:
Serviceutil.montaorderby e
Crudservice.executaquery
Muito obrigado
E
evandro_araujo
*****************View<p:dataTableid="lazyDataTablenovo1"value="#{cadguiaMbean.usuariosList}"var="cadusu"pemptyMessage="Nenhum registro encontrado."paginator="true"rows="25"pageLinks="10"paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink}{LastPageLink}Registrosporpágina:{RowsPerPageDropdown}" rowsPerPageTemplate="15,25,35,50"lazy="true"><p:column><f:facetname="header">Name</f:facet><h:outputTextvalue="#{cadusu.nomeusu}"/></p:column></p:dataTable>*****************BeanprivateList<Cadusu>cadusu;privateLazyDataModel<Cadusu>usuariosList;@OverridepublicvoidiniciarView(){item=listaespec();usuariosList=newLazyDataModel<Cadusu>(){@OverridepublicList<Cadusu>load(intfirst,intpageSize,StringsortField,SortOrdersortOrder,Map<String,String>filters){returncadususervico.buscafindCadusu(first,pageSize);//retornaalistalazy}};usuariosList.setRowCount(cadususervico.buscacountCadusuTotal());//funcaoquecontaosregistros}
Esta aparecendo os registro , porem gostaria de usar o “filterBy” como ficaria o meu “load” do meu bean ???
E
evandro_araujo
Pessoal, consegui fazer o filtro da seguinte forma :
publicList<Cadusu>load(intfirst,intpageSize,StringsortField,SortOrdersortOrder,Map<String,String>filters){intpaginacao;paginacao=0;for(Iterator<String>it=filters.keySet().iterator();it.hasNext();){StringfilterProperty=it.next();// table column name = field nameSystem.out.println("filterProperty is: "+filterProperty);StringfilterValue=filters.get(filterProperty);System.out.println("filterValue is: "+filterValue);StringClausula="and u."+filterProperty+" like'%"+filterValue+"%'";System.out.println("filterValue is: "+Clausula);paginacao=1;cadusu=cadususervico.buscafindCadusu(first,pageSize,Clausula);}// return cadususervico.buscafindCadusu(first, pageSize,"");if(paginacao==0){cadusu=cadususervico.buscafindCadusu(first,pageSize,"");}returncadusu;}};usuariosList.setRowCount(cadususervico.buscacountCadusuTotal());*****************************daopublicList<Cadusu>findCadusu(intstartingAt,intmaxPerPage,Stringclausulapage){Stringquery="";if(clausulapage==""){Stringqueryinterna="select u from Cadusu u where u.status = 'ATIVO'";query=queryinterna;}if(clausulapage!=""){Stringqueryinterna="select u from Cadusu u where u.status = 'ATIVO'"+clausulapage;query=queryinterna;}emAux.createQuery(query).setHint("eclipselink.refresh",true).setFirstResult(startingAt).setMaxResults(maxPerPage).getResultList();return(List<Cadusu>)emAux.createQuery(query).getResultList();}
O problema agora nao esta paginando , alguem pode me ajudar ??
E
evandro_araujo
depois de muita luta e batalha, consegui fazer o Lazy…