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!

 

Ejemplos demo .Net del SDK Biomini 3.4 no funcionan en windows 64 bits

Después de seguir las indicaciones del manual de instalación del SDK del Biomini / biomini Plus de Suprema (escáner de huellas digitales) los ejemplos desarrollados en .Net, incluidos en la instalación, no funcionaban, mandaba mensajes de excepción al tratar de inicializar el digitalizador de huellas digitales. La instalación se hizo sobre Windows 7 versión de 64 bits.

Al parecer el instalador instala la librerías de 32 bits por defecto, así que al tratar de ejecutar los ejemplos, envían errores. Para hacer que funcionen en ésta versión de sistema operativo es necesario reemplazar los archivos UFDatabase.dll, UFMatcher.dll, UFScanner.dll que se encuentran en C:\Program Files (x86)\Suprema\UFE34\bin con dicho archivos que se encuentran en C:\Program Files (x86)\Suprema\UFE34\bin\x64. Los archivos .dll de ésta última carpeta son los correspondientes a los 64 bits del sistema.

Una vez copiados, los ejemplos .net funcionarán correctamente.

¡Saludos!

Agregar un asterisco a los campos requeridos en MVC 4

Se desea que los campos requeridos de una vista en MVC 4 sean marcados con un asterisco al final para que el usuario sepa cuáles campos tiene que capturar en forma forzosa y no saber hasta que la vista es grabada y validada.

Para ello podemos incrustar el código siguiente en javascript al final de la vista:

<script type="text/javascript">
$('[type!=\'hidden\'][data-val-required]').after('<span style="color:red; font-size: 20px; vertical-align: middle;">*</span>');
</script>

MVC 4 asigna el atributo “data-val-required” a los campos o controles que son requeridos. Con jquery podemos encontrar esos controles e insertarles un asterisco al final. En el código anterior se excluyen los campos ocultos (hidden) para que no sea mostrado el asterisco en estos campos.

Existen otras formas como crear nuestro propio HtmlHelper, pero éste método se me hace el más práctico y rápido de implementar.

¡Saludos!