bruno_cobra 10 de set. de 2009
colored 10 de set. de 2009
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 :]
markinho 10 de set. de 2009
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 ;
}
colored 10 de set. de 2009
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???
markinho 11 de set. de 2009
Está quase certo … só tem um erro de lógica no método do bean:
MB
public List < Pessoa > getLista ( Object suggestion ) {
String mySuggestion = String . valueOf ( suggestion );
// Veja aqui é sua lista de retorno!
ArrayList < Pessoa > listRetorno = new ArrayList < Pessoa > ();
// Veja aqui é sua lista completa!
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" ));
// Aqui você percorre a lista completa!
for ( Pessoa p : listPessoa ){
// Aqui você verifica se o item da sua lista completa contem o que o usuario digitou(mySuggestion)
// Então se for verdade você adiciona na lista de retorno!
if (( p . getNome () != null && p . getNome (). toLowerCase (). indexOf ( mySuggestion . toLowerCase ()) == 0 ) || "" . equals ( mySuggestion )){
listRetorno . add ( p );
}
}
return listPessoa ;
}
Conseguiu entender?
Abraços
colored 14 de set. de 2009
Blz Markinho Funcionou :D…
Brigadão Mano.