none
Preencher textBox de acordo com o que for selecionado em comboBox RRS feed

  • Pergunta

  • Boa noite, estou usando windows forms e c# no visual studio, estou com uma dúvida que talvez seja simples. Tenho um form com uma comboBox que carrega os itens (produtos)  de um banco de dados mysql, na frente dessa comboBox tenho uma textBox que deverá exibir o valor do produto selecionado anteriormente, o preço de cada produto está relacionado com ele no banco de dados. Minha pergunta é: como fazer isso? Como faço select para preencher a comboBox ao mesmo tempo que armazeno o valor de cada um em algum lugar, então quando o usuário selecionar o produto na comboBox automaticamente o valor dele apareça na textBox?

    Roberto Gomez

    terça-feira, 19 de julho de 2016 23:19

Respostas

  • Boa noite,

    Segue um exemplo com dados em memória:
    Classe de Produtos

    public class Produto
    {
        public int Id { get; set; }
        public string Descricao { get; set; }
        public decimal Valor { get; set; }
    }

    Dados Simulação

    List<Produto> produtos = new List<Produto>();
    produtos.Add(new Produto { Id = 1, Descricao = "Produto 001", Valor = 50 });
    produtos.Add(new Produto { Id = 2, Descricao = "Produto 002", Valor = 150 });
    produtos.Add(new Produto { Id = 3, Descricao = "Produto 003", Valor = 250 });
    
    comboBox1.DisplayMember = "Descricao";
    comboBox1.ValueMember = "Id;";
    comboBox1.DataSource = produtos;

    Valor do Produto no textBox

    private void comboBox1_SelectedIndexChanged(object sender, System.EventArgs e)
    {
        var valor = ((Produto)comboBox1.SelectedValue).Valor;
        textBoxValor.Text = valor.ToString();
    }

    Espero ter ajudado.

    Att,


    Se a resposta contribuiu com seu aprendizado por favor marque como util, se solucionou seu problema marque como resposta.

    • Sugerido como Resposta Silvaney terça-feira, 19 de julho de 2016 23:52
    • Marcado como Resposta robertgomez2 quarta-feira, 20 de julho de 2016 14:43
    terça-feira, 19 de julho de 2016 23:52