Show suggestions while typing autocomplete

0

I have the following autoComplete :

<p:autoComplete id="geracao" value="#{habilidademb.habilidade.geracao}"
    completeMethod="#{habilidademb.listarGeracoes()}"
    dropdown="true" var="bean" itemLabel="#{bean.nome}" 
    itemValue="#{bean}" converter="#{geracaoConverter}" effect="bounce"/>

When I'm typing in it, it opens all the options and marking the ones that match the text I'm typing. I wish he would only show the options that would marry my text. How can I do this? My completeMethod is:

public List<Geracao> listarGeracoes() throws Exception 
{    
    this.geracoes = gDao.findAll();
    return this.geracoes;
}
    
asked by anonymous 30.11.2016 / 23:46

1 answer

1

You can try the following:

public List<Geracao> listarGeracoes(String query) throws Exception
{
    /*
     * 1a. Opção: fazer um método no seu dao para buscar por nome diretamente no banco
     */
    //return gDao.buscarPorNome(query);

    /*
     * 2a. Opção: filtrar os resultados com base na query
     */
    List<Geracao> retorno = new ArrayList<Geracao>();
    for (Geracao g : gDao.findAll()) {
        String teste = g.getNome();
        if (teste.toLowerCase().contains(query.toLowerCase())) {
            retorno.add(g);
        }
    }
    return retorno;
}

And in your autoComplete, modify completeMethod="#{habilidademb.listarGeracoes}" and add minQueryLength="3" to search by 3 characters.

    
01.12.2016 / 12:46