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();
}