none
salvar codigo usando auto-complete textbox RRS feed

  • Pergunta

  • Tenho a seguinte dúvida.

     

    Quero usar o recurso de auto-complete do TextBox. Mas quando eu for salvar, queria salvar apenas o codigo do cliente ao inves de salvar o nome.

    posso fazer dessa forma? ou funciona?

     

    ModalDataContext mdc = SingletonModel.CreateContext();

     

    var cliente = (from item in mdc.CLIENTEs

                          orderby item.NOME

                          select item).FirstOrDefault();

     TextBox box = new TextBox();

     box.AutoCompleteMode = AutoCompleteMode.Suggest;

    box.AutoCompleteSource = AutoCompleteSource.CustomSource;

    box.AutoCompleteCustomSource = new AutoCompleteStringCollection(); 

     

    foreach (var item in cliente ) 

     box.AutoCompleteCustomSource.Add(item);

     box.DataBindings.Add("Text", cliente , "", true);

     

    Posso fazer assim. Lembrando que eu estou usando LINQ to SQL para isso!


     

    sexta-feira, 18 de novembro de 2011 16:37

Todas as Respostas

  • Use em vez do textbox, use o ComboBox.

    Joque o objeto inteiro para ele, e para pegar o selecionado utilize o SelectedItem. O combobox tbém lhe permite o suggest.


    Quem sabe um dia os DataSets se extinguirão?
    sábado, 19 de novembro de 2011 02:24
  • Funcionou, mas de toda forma ele ainda traz todos na combo.

    Queria que trouxesse apenas os que eu digitasse na combo!

    teria que colocar como evento para poder dar esse efeito no windows forms não possui isso?

     

    segunda-feira, 21 de novembro de 2011 17:07
  • Existem tres propriedades no ComboBox, que faz com que ele se comporte como um Suggest.

    AutoCompleteCustomSource

    AutoCompleteMode = SuggestAppend

    AutoCompleteSource.

    Configurando eles vai fazer funcionar da forma que vc quer.


    Quem sabe um dia os DataSets se extinguirão?
    segunda-feira, 21 de novembro de 2011 18:13
  • Use uma variavel para o codigo, e sempre que o texto do text box for alterado(pode usar o evento text changed), e o valor for um valor válido(que exista no custom source do text box) atualize a variavel codigo com o codigo correspondente ao valor do text box, assim quando for salvar voce pode trabalhar com a variavel que você criou pro código, ao invez de trabalhar com o valor do text box.

    Espero ter ajudado. :D


    Emerson Soares, http://emersonsoares.com
    segunda-feira, 30 de janeiro de 2012 06:32