AUTO COMPLETE

TALISOF 19/04/2016 21:55:30
#461145
Boa Noite Pessoal estou usando o AUTOCOMPLETE em um combobox!
A dúvida é a seguinte, como faço para que a pesquisa do AUTOCOMPLETE seja incremental?
Exemplo:
[Ô]JOAO[Ô]
[Ô]PEDRO[Ô]
[Ô]LILIAN[Ô]
[Ô]CLEBER[Ô]

ao digitar a letra [Ô]O[Ô] aparece como sugestão o [Ô]JOAO[Ô] e o [Ô]PEDRO[Ô]
KERPLUNK 20/04/2016 00:42:32
#461150
Você já tem alguma rotina que faça procura no banco de dados?
JABA 20/04/2016 02:23:23
#461152
http://www.macoratti.net/09/02/vbn_aad.htm
TALISOF 20/04/2016 08:49:09
#461153
Citação:

:
http://www.macoratti.net/09/02/vbn_aad.htm




Ja sei como funciona o AutoComplete, a questão é que o filtro não é incremental, ou seja, só pesquisa pelo inicio ta palavra.
SINCLAIR 20/04/2016 09:16:14
#461156
Resposta escolhida
Colega,

Na medida que o usuário for digitando, faça uma busca no banco de dados para sugerir opções.

Não sei qual o banco de dados que você usa, mas geralmente trechos de string ficam entre símbolos de porcentagem, algo como:

select nome_pessoa from sua_tabela where nome_pessoa like [ô]%trecho_procurado%[ô]
ACCIOLLY 20/04/2016 13:07:46
#461166
é como o siclair falou. E para fazer isso use o evento keydown ou keyup. De preferencia o keyup.
GANDA.NICK 20/04/2016 14:03:58
#461169
A comboBox só pode sugerir uma opção, que fica na [Ô]caixa de texto[Ô] da comboBox, o que vc pode fazer é apagar os items que não [Ô]encaixam[Ô] no seu critério... E quando vc clica para mostar os itens aparecem as [Ô]sugestões[Ô]... mas depois quando se engana e faz delete vai ter que carregar de novo a comboBox

Deve dar para encurtar o code com lambda expressions

Ex:
    Private Sub ComboBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.TextChanged

For i As Integer = Me.ComboBox1.Items.Count -1 To 0 Step -1

Dim item As String = Me.ComboBox1.Items(i).ToString.ToUpper()

If Not item.Contains(Me.ComboBox1.Text.ToUpper()) Then
Me.ComboBox1.Items.RemoveAt(i)
End If

Next

End Sub


Espero que ajude
COQUITO 20/04/2016 18:04:06
#461179
veja isto se ajuda

https://www.youtube.com/watch?v=svmwE31Rams
Tópico encerrado , respostas não são mais permitidas