none
Como Selecionar na combobox um produto e mostrar o preço na textbox RRS feed

  • Pergunta

  • Aló Galera.

    Precisando mas uma ajuda de voces.

    Tenho um form que contem uma combobox onde mostro os produtos a seguir tenho uma textbox onde quero mostrar o preço ada vez que escolhemos um produto. 

    Alguem pode dar uma dica em C#. Recordar que os produtos e preços fazem parte de uma mesma tabela na BD.

    Atenciosamente,

    Jesus Spray


    NekFred,Lda

    sábado, 15 de dezembro de 2012 21:31

Respostas

  • Hola

    Tenho o problema resolvido. Aqui posto o código para uma análise do pessoal do forum.

     private void carregaCombo()
            {
                comboServiço.DataSource = ObterEspecialidades();
                comboServiço.DisplayMember = "descriEspecialidade";
            }
            //Metodo Para Obter Especialidades
            private SofClinicDataSet.EspecialidadesDataTable ObterEspecialidades()
            {
                SofClinicDataSet.EspecialidadesDataTable Especialidades = new SofClinicDataSet.EspecialidadesDataTable();
    
                SofClinicDataSetTableAdapters.EspecialidadesTableAdapter tableAdapter = new SoftClinic.SofClinicDataSetTableAdapters.EspecialidadesTableAdapter();
                tableAdapter.Fill(Especialidades);
    
                return Especialidades;
            }
            /// <summary>
            /// Configura o combo Serviço que chama o preço do produto ou serviço para textbox
            /// </summary>
            /// <returns></returns>
            private void comboServiço_SelectedIndexChanged(object sender, EventArgs e)
            {
                //textPreço.Text = comboServiço.SelectedValue.ToString();
                DataRowView rowView = comboServiço.SelectedValue as DataRowView;
                textPreço.Text = String.Format("{0:#,###.##}", rowView["preçoEspecialidade"]);        
                
            }

    Faça uma votação se achar interessante! 

    Atenciosamente,

    Jesus Spray



    NekFred,Lda


    domingo, 16 de dezembro de 2012 04:04

Todas as Respostas

  • mostra como voce enxe a combobox por favor?


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

    sábado, 15 de dezembro de 2012 22:19
    Moderador
  • Não sei se entendi sua colocação!

    Mas se for o caso, apos o usuário selecionar o combobox desejado. Pode usar um comando para trazer do BD o preço aonde o nome for igual ao que esta no combobox..

    sábado, 15 de dezembro de 2012 22:31
  • Hola Malange

    Eu tenho um método numa classe fora do meu form. Chamo este método para preencher o meu combo dentro do form e a seguir formato o combobox para recuperar o preço e atribuir ao textbox no mesmo form. Aqui vai meu código.

    1.Metodo Fora do Form

    public static void preencheCombo(ComboBox Combo, string strSql, string Display)
            {
                using (SqlConnection con = Conexao.coneta()) 
                {
                    try
                    {
    
                        string SQL = strSql;
                        SqlCommand cmd = new SqlCommand(SQL, con);
                        SqlDataAdapter da = new SqlDataAdapter(cmd);
                        DataSet ds = new DataSet();
                        DataTable dt = new DataTable();
    
                        BindingSource bind = new BindingSource();
                        bind.DataSource = dt;
    
                        da.Fill(dt);
    
                        //coloque as definições na ordem abaixo
                        Combo.DisplayMember = Display;
                        //Combo.ValueMember = Value;
                        Combo.DataSource = bind;
    
                        Conexao.desconeta();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    finally
                    {
                    }
                }

    2. Chamo o Metodo e Carrego as Combo do Formulario:

     MetodFactura.preencheCombo(comboServiço, "SELECT idEspecialidade, descriEspecialidade FROM Especialidades","descriEspecialidade");

    3.Configuro o combo com SeletedIndexChanged

    private void comboServiço_SelectedIndexChanged(object sender, EventArgs e)
            {
                DataRowView rowView = comboServiço.SelectedValue as DataRowView;
                textPreço.Text = String.Format("{0:#,###.##}", rowView["preçoEspecialidade"]);  
            }

    Aqui é que está o problema o combo mostra: System.DataRowView. 

    E quando faço rowView.ToString()

    textPreço.Text = String.Format("{0:#,###.##}", rowView.ToString()); 

    o combo mostra a lista da tabla só que o Textbox mostra: System.DataRowView

    Desculpa-me se fui muito exausto. Mas este é o problema.

     

    NekFred,Lda

    domingo, 16 de dezembro de 2012 00:13
  • Hola

    Tenho o problema resolvido. Aqui posto o código para uma análise do pessoal do forum.

     private void carregaCombo()
            {
                comboServiço.DataSource = ObterEspecialidades();
                comboServiço.DisplayMember = "descriEspecialidade";
            }
            //Metodo Para Obter Especialidades
            private SofClinicDataSet.EspecialidadesDataTable ObterEspecialidades()
            {
                SofClinicDataSet.EspecialidadesDataTable Especialidades = new SofClinicDataSet.EspecialidadesDataTable();
    
                SofClinicDataSetTableAdapters.EspecialidadesTableAdapter tableAdapter = new SoftClinic.SofClinicDataSetTableAdapters.EspecialidadesTableAdapter();
                tableAdapter.Fill(Especialidades);
    
                return Especialidades;
            }
            /// <summary>
            /// Configura o combo Serviço que chama o preço do produto ou serviço para textbox
            /// </summary>
            /// <returns></returns>
            private void comboServiço_SelectedIndexChanged(object sender, EventArgs e)
            {
                //textPreço.Text = comboServiço.SelectedValue.ToString();
                DataRowView rowView = comboServiço.SelectedValue as DataRowView;
                textPreço.Text = String.Format("{0:#,###.##}", rowView["preçoEspecialidade"]);        
                
            }

    Faça uma votação se achar interessante! 

    Atenciosamente,

    Jesus Spray



    NekFred,Lda


    domingo, 16 de dezembro de 2012 04:04