none
Dificuldades para pegar o que foi selecionado de uma Combo RRS feed

  • Pergunta

  • Olá Pessoal!
    Sou novo em programação C# e aqui no fórum tb! rs rs rs

    Alimentei uma ComboBox com dados de uma tabela de BD, fiz tudo bonitinho através de camadas e quando executei o programa, carregou tudo certinho.

    O problema é na hora em que seleciono um item. A Combo não seleciona somente o NOME que eu quero e sim ID + NOME, puxando toda a propriedade.

    Seguem trechos do meu código:

    Metodos M = new Metodos();
    PProdutos P = new PProdutos();

    P.Tipo = cboTipo.SelectedItem.ToString();

    Qdo debugo essa linha e vejo o que tem armazenado em SelectedItem aparece certinho o ID  e Nome que selecionei na combo, porém quando vejo o que tem armazenado em P.Tipo ele armazenou toda a propriedade.

    Eu imaginei de ter armazenado nele somente o "Tipo" do produto que selecionei e o que aparece para mim é o nome do meuprojeto . Minha Classe de Propriedades

    Como faço para ele só atribuir o "TIPO" selecionado e não toda a propriedade?

    quarta-feira, 3 de fevereiro de 2016 14:57

Respostas

  • Boa tarde.

    Para pegar o texto, use a propriedade Text; para pegar o Id, use a propriedade SelectedValue.

    Partindo desta lógica, para deixar o padrão "ID - Nome":

    var item = comboBox1.SelectedValue + " - " + comboBox1.Text;


    Att., Rafael Simor

    quarta-feira, 3 de fevereiro de 2016 19:40
  • faz assim:

    P.Tipo = comboBox1.SelectedValue.ToString();


    A flower cannot blossom without sunshine, and man cannot live without love.

    quarta-feira, 3 de fevereiro de 2016 15:39
    Moderador

Todas as Respostas

  • faz assim:

    P.Tipo = comboBox1.SelectedValue.ToString();


    A flower cannot blossom without sunshine, and man cannot live without love.

    quarta-feira, 3 de fevereiro de 2016 15:39
    Moderador
  • Vlw amigão.
    Tentei mas ele só puxa o ID e não o NOME. Embora ele puxe o ID certinho, como eu quero que o nome seja puxado.
    Tentei SelectedValue, SelectedItem e Selectedidex.
    O Item é o único que puxa a propriedade, os outros puxam o ID. 
    quarta-feira, 3 de fevereiro de 2016 16:44
  • Olá,

     utilize a propriedade "Text" de sua combobox que vai obter o texto que aparece na combo.

    quarta-feira, 3 de fevereiro de 2016 19:14
  • P.Tipo = comboBox1.DisplayMember.ToString();

    e dessa forma?

    Já que você está pegando o nome que aparece no combobox, tentou passar dessa forma ?

    P.tipo = combobox.Text;

    • Sugerido como Resposta Mariana C. Costa quinta-feira, 4 de fevereiro de 2016 12:07
    quarta-feira, 3 de fevereiro de 2016 19:18
  • Boa tarde.

    Para pegar o texto, use a propriedade Text; para pegar o Id, use a propriedade SelectedValue.

    Partindo desta lógica, para deixar o padrão "ID - Nome":

    var item = comboBox1.SelectedValue + " - " + comboBox1.Text;


    Att., Rafael Simor

    quarta-feira, 3 de fevereiro de 2016 19:40
  • Use a o Text para pegar o texto, não o SelectedItem!
    quinta-feira, 4 de fevereiro de 2016 04:26
  • Valeu fera!
    Funcionou perfeitamente!
    Muito obrigado pela ajuda!!!!!!!
    Abraços!!!
    sexta-feira, 5 de fevereiro de 2016 20:40