En las propiedades del autocomplete colocar scrollHeight="250"dropdown="true"size="45"
Copy <p:outputLabel value="#{msg.contribuyente}"/>
<p:autoComplete scrollHeight="250" dropdown="true" size="45" id="cedula" value="#{comerciosController.comercios.cedula}"
completeMethod="#{contribuyentesSearchController.completeNombre}"
var="p"
itemLabel="#{p.nombre} #{p.cedula} " itemValue="#{p}" converter="contribuyentesConverter" forceSelection="true">
<p:ajax event="itemSelect" listener="#{contribuyentesController.handleSelect}" update=":form:growl" />
<f:facet name="itemtip">
<h:panelGrid columns="1" cellpadding="5">
<h:outputText value="#{p.idcorregimiento.corregimiento}" />
</h:panelGrid>
</f:facet>
</p:autoComplete>
Copy public List< Contribuyentes > completeNombre( String query) {
List < Contribuyentes > suggestions = new ArrayList <>();
try {
query = query . trim ();
contribuyentesList = contribuyentesFacade . findByNombreLike ( query . toLowerCase ());
contribuyentesList . stream () . forEach ((p) -> {
suggestions . add (p);
});
} catch ( Exception e) {
JSFUtil . addErrorMessage ( "completeNombre() " + e . getLocalizedMessage ());
}
return suggestions;
}
Copy public List< Contribuyentes > findByNombreLike( String value) {
Query query = em . createQuery ( "SELECT c FROM Contribuyentes c WHERE lower(c.nombre) like :nombre" );
value = "" + value . trim () + "%" ;
return query . setParameter ( "nombre" , value) . getResultList ();
}