none
Autocomplete para Controles RRS feed

  • Pergunta

  • Olá, 

    a tempos que mexo em c# me surgiu uma duvida ao fazer um pequeno app. E o seguinte eu quero sugerir palavras que podem ser escritas no textbox ate ai tudo bem pois sei como fazer. a duvida entra nesse exemplo abaixo:

    eu tenho um Nome de Cliente que tem um Código do banco de dados ai quando eu começo a digitar o codigo eu quero que aparece o codigo - nome do cliente na sugestão exemplo :

    "3000 - Jose da silva"

    so que quando for selecionar essa linha eu quero q so escreva o "3000" sem o nome do cliente pois nesse campo so aceita codigo. o nome do cliente na sugestao e so para ajudar a identificar a qual pessoa o codigo esta relacionado.

    para ajudar tenho um list com essa linhas como string 

    agradeço a ajuda.

    att,NT10K

    sábado, 6 de janeiro de 2018 00:13

Respostas

  • Olá!

    Você teria que manter um dicionário por trás dos panos, que faria a conversão dos valores da sua lista de sugestões para o ID correspondente.. Por exemplo, seria um Dictionary<string, int> em que uma das entradas seria key = "3000 - Jose da silva", value = 3000.. Depois, no evento KeyDown você verifica se o usuário apertou "enter", aí você faz a conversão do item selecionado para o ID correspondente, conforme sugerido nesta thread do StackOverflow:

    How get Event “item Selected” with AutoComplete in C#?

    Mas, uma pergunta me veio à mente.. Já que você está guardando o ID por trás dos panos, por que você não utiliza um ComboBox ao invés de um TextBox? Esse seria o controle mais indicado nesse cenário..

    Abraço!


    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima

    • Sugerido como Resposta Levi DomingosModerator sábado, 13 de janeiro de 2018 17:54
    • Marcado como Resposta nt10k sábado, 13 de janeiro de 2018 21:08
    segunda-feira, 8 de janeiro de 2018 13:34
    Moderador

Todas as Respostas

  • Bom dia, nt10k.

    Obrigado por usar o fórum MSDN.

    Essa seria uma questão de "How to/Customização" ou "Break Fix/Erro"?

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 8 de janeiro de 2018 12:14
    Moderador
  • Olá!

    Você teria que manter um dicionário por trás dos panos, que faria a conversão dos valores da sua lista de sugestões para o ID correspondente.. Por exemplo, seria um Dictionary<string, int> em que uma das entradas seria key = "3000 - Jose da silva", value = 3000.. Depois, no evento KeyDown você verifica se o usuário apertou "enter", aí você faz a conversão do item selecionado para o ID correspondente, conforme sugerido nesta thread do StackOverflow:

    How get Event “item Selected” with AutoComplete in C#?

    Mas, uma pergunta me veio à mente.. Já que você está guardando o ID por trás dos panos, por que você não utiliza um ComboBox ao invés de um TextBox? Esse seria o controle mais indicado nesse cenário..

    Abraço!


    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima

    • Sugerido como Resposta Levi DomingosModerator sábado, 13 de janeiro de 2018 17:54
    • Marcado como Resposta nt10k sábado, 13 de janeiro de 2018 21:08
    segunda-feira, 8 de janeiro de 2018 13:34
    Moderador
  • olha não sei,

    mas acho que não, porque e algo especificamente de C# e não tem haver com erro

    att,natan


    • Editado nt10k sábado, 13 de janeiro de 2018 21:03
    sábado, 13 de janeiro de 2018 21:03
  • Hmm, entendi,

    Obrigado pela resposta, o lance do combobox acho que não funcionaria porque o usuario pode escrever coisas novas que não estão registradas na lista.

    att,natan

    sábado, 13 de janeiro de 2018 21:07
  • Legal, Natan.. Então o jeito é implementar daquele jeito com um dicionário por trás mesmo.. Qualquer dificuldade é só criar outra thread detalhando o problema..

    Abraço!


    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima

    segunda-feira, 15 de janeiro de 2018 05:16
    Moderador
  • Obrigado !!

    e um Abraço !

    segunda-feira, 15 de janeiro de 2018 14:34