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.

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:

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!

EntityType ‘…’ has no key defined. Define the key for this EntityType …MVC 4

Continuando con Visual Studio 2010 y MVC 4, al ejecutar la aplicación me arrojó varios errores de este tipo:

One or more validation errors were detected during model generation:

\tSystem.Data.Entity.Edm.EdmEntityType: : EntityType ‘UserProfile’ has no key defined. Define the key for this EntityType.
….

\tSystem.Data.Entity.Edm.EdmEntitySet: EntityType: EntitySet ‘UserProfiles’ is based on type ‘UserProfile’ that has no keys defined.

Al parecer el generador de entidades EF 4.x DbContest para C# aún tiene ciertas deficiencias.

Para corregir este error hay que editar las clases que se indican y agregar la anotación [Key] antes del campo de llave primaria así:

….
[Key]

public int UserId { get; set; }

Le pedirá que agregue el namespace

System.ComponentModel.DataAnnotations

Es todo…. ¡saludos!

 

 

The type ‘…’ was not mapped… MVC 4

Tengo Visual Studio 2010 e instalé el complemento de MVC 4. Generé mi aplicación MVC 4 y generé al ADO.NET EntityObject desde una conexión de base de datos. La tabla UserProfile fue cambiada agregando más campos personalizados.

Al ejecutar ka aplicación por default y tratar de ingresar a la sección login me arrojaba el siguiente error:

“The type ‘….Models.UserProfile’ was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from EntityObject.”

Resulta que el MVC 4 no acepta clases entidades heredadas del tipo EntityObject. Para corregir este error hay varias formas, pero la más “fácil” es la de instalar el complemento “EF 4.x DbContext Generator for C#” que se puede descargar aquí.

Una vez instalado y reiniciado el VS 2010 procede a seguir las instrucciones indicadas en dicha página: se da click derecho sobre el editor modelo .edmx , se selecciona Add Code Generation Item… y en Installed Templates -> Visual C# -> Code, se selecciona EF 4.x DbContext Generator. Se le da un nombre al modelo y se pulsa el botón Add.

Manda un aviso de Security Warning, que puede ser ignorado pulsando “OK”. Y listo Crea un modelo de datos con la extensión .tt con clases por separado de las entidades de la base de datos.

Listo, el error antes descrito se fue.

¡Saludos!

 

 

Crear threads con c#.

Código ejemplo de cómo crear y ejecutar threads (hilos) en lenguaje C#:

Si se ejecuta el programa anterior, una de las probables salidas del programa seria algo como esto:

Hilo Principal: Haciendo algun proceso..
ProcesoHilo: 0
ProcesoHilo: 1
ProcesoHilo: 2
ProcesoHilo: 3
Hilo Principal: Haciendo algun proceso..
Hilo Principal: Haciendo algun proceso..
Hilo Principal: Haciendo algun proceso..
ProcesoHilo: 4
ProcesoHilo: 5
ProcesoHilo: 6
ProcesoHilo: 7
ProcesoHilo: 8
ProcesoHilo: 9