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!