none
Transferir conteudo de item selecionado na Listbox para Textbox - C# RRS feed

  • Pergunta

  • Meu tópico anterior foi trancado, não sei por qual motivo... por isso, estou novamente escrevendo-o.

    Preciso de um comando para quando eu selecionar um determiado item da listbox, apareça todas as informações que existem sobre ele em diferentes textbox.

    Por exemplo:

    Na minha listbox apareceu o nome de um automóvel. Quando eu seleciono o nome do automóvel na listbox, aparece todas as infomrações que existem sobre ele em diferentes textbox, assim...

    textbox1 aparece o tipo de motor

    textbox2 aparece a cor

    textbox3 aparece o ano

    textbox4 aparece o valor do automóvel

    e assim por diante...

    O projeto está conectado a um banco de dados

    Alguém consegue quebrar esse galho? Fico no aguardo... Abraço.


    • Editado RBVA domingo, 18 de dezembro de 2016 19:06
    domingo, 18 de dezembro de 2016 18:57

Respostas

  • Olá RBVA,

    Parece que é adicionado à listBox só o nome, correto?

    E depois tenta fazer com que mais dados sejam apresentados nas textboxes, mas não sei como isso é possível se apenas o nome está sendo inserido na listBox. Os outros dados sobre o carro não estão sendo inseridos.
    Talvez você possa criar uma classe com campos para os diferentes dados do carro, preencher esses campos com os dados vidos do seu banco, e popular sua listBox com os objetos dessa classe.
    Assim, quando precisar retornar os dados para as textboxes, eles estarão associados ao nome do carro.

    Atenciosamente,


    Robson William Silva

    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.

    quinta-feira, 22 de dezembro de 2016 19:15
    Moderador

Todas as Respostas

  • Bom dia RBVA,

    Por gentileza, verifique se a sugestão neste link o ajuda.

    Atenciosamente,


    Robson William Silva

    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, 19 de dezembro de 2016 12:04
    Moderador
  • É exatamente isso que eu preciso. Quando selecionar o nome, me disponibilize outras informações a cerca do nome.


    É exatamente isso que eu preciso. Quando seleciona na listbox, mê retorne nas textbox informações a cerca do nome.

    • Editado RBVA segunda-feira, 19 de dezembro de 2016 16:03 Atualização
    segunda-feira, 19 de dezembro de 2016 16:02
  • E a sugestão no link serviu no seu caso?

    var email = listBox1.SelectedItem.ToString();
    textBox1.Text =  = email.Substring(0, email.IndexOf("@"));

    Atenciosamente,


    Robson William Silva

    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, 19 de dezembro de 2016 16:32
    Moderador
  • Não está funcionando...
    quarta-feira, 21 de dezembro de 2016 03:56
  • Certo.

    Como você está tentando? Poderia postar seu código? Há alguma mensagem de erro?

    Atenciosamente,


    Robson William Silva

    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.

    quarta-feira, 21 de dezembro de 2016 11:42
    Moderador
  • Certo.

    Como você está tentando? Poderia postar seu código? Há alguma mensagem de erro?

    Atenciosamente,


    Robson William Silva

    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.

    Esse é o código que consta no botão que executa a consulta:

    private void button3_Click(object sender, EventArgs e)
            {
                string acessoBD = @"Provider = Microsoft.ACE.OLEDB.12.0; Data Source = C:\Users\User\Projeto Banco de Dados\Pesquisa\BD.accdb";
                string Query = "SELECT * FROM tbl_automoveis WHERE Fabricante = '" + textBox3.Text + "' ";
                OleDbConnection conexao = new OleDbConnection(acessoBD);
                OleDbCommand comando = new OleDbCommand(Query, conexao);
                OleDbDataReader leitor;

                listBox1.Enabled = true;

                listBox1.Items.Clear();

                try
                {
                    conexao.Open();
                    leitor = comando.ExecuteReader();

                    while (leitor.Read())
                    {
                        listBox1.Items.Add(leitor["Nome_automovel"]);
                     }

    Obs.: Nesse caso, ele adiciona a listbox todos os automóveis do determinado fabricante buscado através da textbox e os automóveis visualizados na listbox, são listados pelo Nome_automovel.

    Esse é o código da listbox:

     private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                string acessoBD = @"Provider = Microsoft.ACE.OLEDB.12.0; Data Source = C:\Users\User\Projeto Banco de Dados\Pesquisa\BD.accdb";
                string Query = "SELECT * FROM tbl_automoveis";
                OleDbConnection conexao = new OleDbConnection(acessoBD);
                OleDbCommand comando = new OleDbCommand(Query, conexao);
                OleDbDataReader leitor;

                try
                {
                    conexao.Open();
                    leitor = comando.ExecuteReader();

                    while (leitor.Read())
                    {
                        string sNome_auto = listBox1.SelectedItem.ToString();
                        string sAno_auto = listBox1.SelectedItem.ToString();
                        string sFabricante_auto = listBox1.SelectedItem.ToString();
                        string sMotor_auto = listBox1.SelectedItem.ToString();
                        string sPreco_auto = listBox1.SelectedItem.ToString();

                        Nome_automovel_textbox.Text = sNome_auto;
                        Ano_automovel_textbox.Text = sAno_auto;
                        Fabricante_automovel_textbox.Text = sFabricante_auto;
                        Motor_automovel_textbox.Text = sMotor_auto;
                        Preco_automovel_textbox.Text = sPreco_auto;
                    }
                }

                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }

    Fico no aguardo... obrigado pela atenção até o momento!

    quinta-feira, 22 de dezembro de 2016 16:30
  • Olá RBVA,

    Parece que é adicionado à listBox só o nome, correto?

    E depois tenta fazer com que mais dados sejam apresentados nas textboxes, mas não sei como isso é possível se apenas o nome está sendo inserido na listBox. Os outros dados sobre o carro não estão sendo inseridos.
    Talvez você possa criar uma classe com campos para os diferentes dados do carro, preencher esses campos com os dados vidos do seu banco, e popular sua listBox com os objetos dessa classe.
    Assim, quando precisar retornar os dados para as textboxes, eles estarão associados ao nome do carro.

    Atenciosamente,


    Robson William Silva

    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.

    quinta-feira, 22 de dezembro de 2016 19:15
    Moderador
  • Bom dia,

    Devido a falta de interação do autor dessa pergunta,

    essa thread está sendo fechada. Caso o problema ainda

    esteja ocorrendo, favor abrir uma nova thread.

    Atenciosamente,


    Robson William Silva

    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, 26 de dezembro de 2016 11:18
    Moderador