CLR: .Net / Mono / Boo / Otros CLR > C#

 asignar a un Textbox datos de comboBox

(1/1)

lugarda:
Hola a todos, bueno aqui va un problemita nuevo que tengo:
Hice un Form con un comboBox que tiene como DataSource un DataTable que toma los datos de la base de datos, como lo muestro en el código.

--- Código: C# --- public DataTable listarConceptos()        {            DataTable dt = new DataTable();            OracleDataAdapter adaptador = new OracleDataAdapter();            try            {                using (OracleCommand consulta = conexionOracle.CreateCommand())                {                    consulta.CommandText = (@"select codigo,descripcion,cuenta,fecha from tbsubconceptos where nconcepto='30' ");                                                      adaptador.SelectCommand = consulta;                    adaptador.Fill(dt);                }            }            catch (Exception ex)            { throw ex;            }            return dt;        } 
y en el evento Click del comboBox asigne el codigo como ValueMember y descripcion como Display Member. Quiero hacer lo siguiente cuando selecciono algun item del comboBox y es desplegar en dos TextBox (TextBoxCuenta y TextBoxFecha) los datos cuenta y fecha que estan en el DataSource, pero no se como hacerlo.

--- Código: C# --- private void cmbConceptos_Click(object sender, EventArgs e)        {            cmbConceptos.DataSource = new BasicoNG().listarConceptos(conexionOracle);            cmbConceptos.ValueMember = "codigo";            cmbConceptos.DisplayMember = "descripcion";                    }  Me pueden dara alguna idea de como resolverlo?. Como abrán podido darse cuenta soy super novata en la programación de c# y gracias a ustedes he aprendido muchisimo.

lugarda:
hola amigos les cuento que ya resolvi  el problema , aunque no se si es la mejor forma pero quiero compartirlo por si le sirve de referencia:
1. Cree una clase Subconceptos.

--- Código: C# --- public class Subconceptos    {        private string cuenta;        private DateTime fecha;         public string Cuenta        {            get { return cuenta; }            set { cuenta = value; }        }        public DateTime Fecha        {            get { return fecha; }            set { fecha= value; }        }}  
2. Cree un método que retorna un objeto tipo Subconcepto


--- Código: C# --- public Subconceptos listarDatoConcepto(string codigo)        {            Subconceptos concepto = new Subconceptos();            try            {                using (OracleCommand consulta = conexionOracle.CreateCommand())                {                     consulta.CommandText = string.Format(@"select cuenta,fecha  from tbsubconceptos where nconcepto='30' and nsubconcepto=:codigo ");                    consulta.Parameters.Add(new OracleParameter(":codigo", OracleType.Number)).Value = Int32.Parse(codigo);                    using (OracleDataReader cursor = consulta.ExecuteReader())                    {                        while (cursor.Read())                        {                            concepto.cuenta= cursor.GetString(0);                            concepto.fecha= cursor.GetDateTime(1);                            return concepto;                        }                    }                }            }            catch (Exception e) { throw e;}            return concepto;        }  
3. en el mevento SelectionChangeCommited del comboBox , inclui el siguiente código. Recuerden que el evento se produce cuando un elemento es elegido de la lista desplegable y la lista desplegable está cerrada
.


--- Código: C# ---private void cmbConceptos_SelectionChangeCommitted(object sender, EventArgs e)        {            try            {                tbCodigo.Text = cmbConceptos.SelectedValue.ToString();                Subconceptos p = new  listarDatoConcepto(tipo);                tbcuenta.Text = p.Cuenta;                }            catch (Exception ed)            {                MessageBox.Show(ed.Message + "" + "n" + ed.Source, "mensaje", MessageBoxButtons.OK, MessageBoxIcon.Error);            }        } 
bueno espero que se de utilidad.
Y si agluno tiene una mejor idea ,  seri asuoper compartirla.

hasta la proximan.

Navegación

[0] Índice de Mensajes

Ir a la versión completa