[RichFaces] - Duvida Como Criar Um Suggestion Box [RESOLVIDO]

Bom to Precisando criar um SuggestionBox pro Sistema, por que o cara aki invento q vai precisar de um, por que tem uma tabela com n sei qtos registros…

e vai funcionar mais o menos assim, o piao digita uma profissao, ai aparece algumas lá pra da uma força pra ele…

Alguem tem um exemplo mais simples possivel, por que até vi o codigo da pagina, mas na parte do Bean desse exemplo eu me embananei kkkk…

Se alguem puder ajudar Valeo :smiley:

Eaí cara! Veja se te ajuda: http://livedemo.exadel.com/richfaces-demo/richfaces/suggestionBox.jsf

abraço

Então eh lá mesmo q eu olho mas nesse caso eu nao consegui entender muito bem, por isso q to pedindo ajuda com 1 mais simples :]

Olha eu aki outra vez!! rsrsrs

Ve se vc entende esse código, qq coisa e só pergunta!


    public List<Funcionario> autoCompleteFuncionario(Object event) {
        String prefixoNome = event.toString().toLowerCase();

        // No método getListaFucionario, faço uma consulta no banco com os a clausula LIKE '%aquiOPrefixo%'
        // Se você já tiver a lista: percorre ela e identica quais devem ser add na lista de retorno
        List<Funcionario> listaFuncionario = meuDAO.getListaFuncionario(prefixoNome);
        

        return listaFuncionario;
}

Bom Markinho, to saindo to trampo agora, nem vai da pra pensar direito no seu codigo…

mas eu fui seguindo o do Live Demo e fiz assim, ta dando uns erros ai mas axo q ta qse lá :D…

MB

	public List<Pessoa> getLista(Object suggestion) {
		String mySuggestion = String.valueOf(suggestion);
		ArrayList<Pessoa> listPessoa = new ArrayList<Pessoa>();
		lista.add(new Pessoa("José"));
		lista.add(new Pessoa("Julio"));
		lista.add(new Pessoa("Jefferson"));
		lista.add(new Pessoa("João"));
		lista.add(new Pessoa("Rose"));
		
		for(Pessoa p : lista){
			if((p.getNome() != null && p.getNome().toLowerCase().indexOf(mySuggestion.toLowerCase()) == 0) || "".equals(mySuggestion)){
				listPessoa.add(p);
			}
		}
		
		return listPessoa;
	}

Xhtml

<h:panelGrid columns="2" columnClasses="sb_test_column1,sb_test_column2" width="100%">
            <h:panelGroup>
                <h:inputText value="#{clienteMb.cliente.nome}" id="text" />
                <rich:suggestionbox id="suggestionBoxId" for="text" tokens=",[]"
                    rules="#{suggestionBox.rules}"
                    suggestionAction="#{clienteMb.autocomplete}" var="result"
                    fetchValue="#{result.nome}">
                    
                    <h:column>
                        <h:outputText value="#{result.nome}" />
                    </h:column>
                </rich:suggestionbox>
                </h:panelGroup>
                </h:panelGrid>

Eh por ai???

Está quase certo … só tem um erro de lógica no método do bean:

Conseguiu entender?

Abraços

Blz Markinho Funcionou :D…

Brigadão Mano.