Publicado el Dejar un comentario

Cómo llenar un control comboBox de Windows Forms con una colección en c# .Net

Existen muchas formas de llenar un control comboBox en Windows Forms obteniendo los datos de varias fuentes. En este artículo veremos como llenarlo a través de un objeto de tipo colección (List) conteniendo objetos  tuplas (Tuple), obteniendo los datos con el que llenaremos los tuplas de los resultados de una consulta a una base de datos. El código asume que ya se abrió una conexión a la base de datos y se ejecutó una consulta y se están leyendo los datos que arrojó la misma.

 

El código está comentado para su mejor entendimiento.

/* Lista de items para el combobox, los items son representado 
   por tuplas de 2 valores: un entero y otro de tipo cadena */
List<Tuple<Int32, String>> listaItems = new List<Tuple<int, string>>();
                
// Leemos los registros 
while (lector.Read())
{
/* Añade ala lista los items a mostrar en el combobox, creando objetos tupla con valores
   obtenidos de la base de datos*/
  listaItems.Add(Tuple.Create<Int32, String>(lector.GetInt32(0), lector.GetString(1)));
}
// Cierra el lector de datos
lector.Close();

// Asigna items a el combobox
comboBox1.DataSource = listaItems;

/* Asigna la propiedad a desplegar en el combobox
   En un objeto tupla la propiedad que contiene
   el primer elemento es llamada Item1, el segundo Item2
   y asi sucesivamente */
comboBox1.DisplayMember = "Item2";

// Asigna la propiedad como valores de los items del combobox
comboBox1.ValueMember = "Item1";

Espero les sea útil.

¡Hasta la próxima!