Array
(
)

Ajuda com combobox e label

Carlos Escudeiro
   - 19 nov 2012

Preciso de ajuda para pegar um valor no combobox que é populado pelos dados do banco e mostrar esses dados num label.
por exemplo seleciono um nome e mostro no label o codigo, endereço, etc...
eu to usando este codigo mas ele só me retorna o ultimo codigo gravado
#Código

 string sql = "Select * from tecnicos where tec_codigo ="+ comboBoxtecnico.SelectedIndex + "";
            FbConnection cn = new FbConnection(Properties.Settings.Default.osControl);
            FbCommand cmd = new FbCommand(sql, cn);
            cmd.CommandType = CommandType.Text;
            cn.Open();
            FbDataReader reader = cmd.ExecuteReader();

            try
            {
                while (reader.Read())
                {

                    lbTecFone.Text = String.Format(reader.GetString(2).ToString());
                    lbTecCodigo.Text = String.Format(reader.GetString(0).ToString());
                    
                }
            }
            catch (FbException error)
            {
                throw error;
            }
            finally
            {
                cn.Close();
            }
        }

Robson Robsonalves.net
   - 19 nov 2012

prefira pegar o drpDowlist.SelectedValue, isso garante que o registro seja o value do Item selecionado.

Joel Rodrigues
   - 20 nov 2012

Olá, Carlos. A propriedade SelectedIndex, como o nome sugere, lhe dá acesso à posição do item selecionado na lista (0,1,2...) e não ao seu real valor. Como nosso amigo Robson falou, use a propriedade SelectedValue para acessar o valor desse item.
Boa sorte.

Carlos Escudeiro
   - 20 nov 2012

Resolvido meu problema. Tai o código que usei
#Código

public void CarregaDados()
        {
            using (FbConnection cn = new FbConnection(Properties.Settings.Default.osControl))
            {
            DataSet ds = new DataSet("Servicos");

            FbDataAdapter daClientes = new FbDataAdapter("SELECT * FROM clientes", cn);
                daClientes.TableMappings.Add("Table", "Clientes");
                daClientes.Fill(ds);

                FbDataAdapter daTecnicos = new FbDataAdapter("SELECT * FROM Tecnicos", cn);
                daTecnicos.TableMappings.Add("Table", "tecnicos");
                daTecnicos.Fill(ds);
               
                dvManager = ds.DefaultViewManager;

                comboBoxcliente.DataSource = dvManager;
                comboBoxcliente.DisplayMember = "clientes.cli_nome";
                comboBoxcliente.ValueMember = "clientes.cli_codigo";

                comboBoxtecnico.DataSource = dvManager;
                comboBoxtecnico.DisplayMember = "tecnicos.tec_nome";
                comboBoxtecnico.ValueMember = "tecnicos.tec_codigo";

                 lbCliCodigo.DataBindings.Add("Text", dvManager, "clientes.cli_codigo");
                lbEndereco.DataBindings.Add("Text", dvManager, "clientes.cli_endereco");
                lbTecCodigo.DataBindings.Add("Text", dvManager, "tecnicos.tec_codigo"); 
            }
        }