martes, 19 de septiembre de 2017

ComboBox texto y valor - C # (ID, Clave o como quieras llamarlo)

Vi que hay muchas preguntas al respecto, y también muchas respuestas. Pero vi que todas son muy complicadas. Así que aquí esta mi aporte de algo sencillo y comprensible, de cómo guardar un Texto o Cadena y un Valor asociado en un ComboBox.

El siguiente muestra cómo agregar texto (lo que se ve en el Combobox) y un valor asociado (que no se ve, pero el momento de escoger recupera este valor) este valor puede ser el ID de algo, normalmente utilizado en Base de Datos.



Para agregar texto y valor, usaremos un objeto Dictionary para almacenar el texto y valor.
Después de agregar los elementos al diccionario, el siguiente paso es configurar este objeto de diccionario como un DataSource en el ComboBox.
Coloca esto en el evento load del formulario.

Dictionary DatosCombo =  new Dictionary();
DatosCombo.Add(10, "Lunes");
DatosCombo.Add(20, "Martes");
DatosCombo.Add(30, "Miércoles");
DatosCombo.Add(40, "Jueves");
DatosCombo.Add(50, "Viernes");
DatosCombo.Add(60, "Sábado");
DatosCombo.Add(70, "Domingo");

comboBox1.DataSource = new BindingSource(DatosCombo, null);
comboBox1.DisplayMember = "Value";
comboBox1.ValueMember = "Key";

Como verás no es difícil entender, con esto llenamos el Combo Box.

Ahora, a recuperar la clave o valor de lo que está seleccionado. Para esto crea un Boton y coloca esto dentro el botón.

int key = ((KeyValuePair)comboBox1.SelectedItem).Key;
string value = ((KeyValuePair)comboBox1.SelectedItem).Value;
MessageBox.Show(key + "   " + value);

Bueno, espero te haya servido.
Hasta pronto....