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!

 

Publicado el Dejar un comentario

Errores al instalar SQL Server Express 2017 en Windows 10, problemas con el idioma español (México).

Los instaladores de SQL Server traen un problema añejo con el idioma cuando está configurado como español mexicano que al parecer no se ha corregido aún.

Al ejecutar el instalador de SQL Server Express 2017 en español, descargado desde su sitio web,  arroja el error que inicia con “This SQL Server setup media does not suppor the lenguaje of the OS …” (ver mensaje completo en la imagen siguiente:

O si lo hacemos directamente ejecutando el archivo SETUP.EXE nos arroja el mensaje “No se encuentra el contrato de licencia de SQL Server para la edición seleccionada, EXPRESS. …”:

Y no permite continuar con la instalación. El instalador en español sólo reconoce el idioma español de España así que para proceder con la instalación en una máquina con lenguaje español de México, es necesario cambiar el idioma en nuestra computadora.

Para solucionar el problema hay que cambiar el idioma y región. Vamos a Inicio->Configuración para abrir el panel de Configuración:

Una vez ahí seleccionamos Hora e idioma:

Enseguida seleccionamos Región e idioma:

Cambiamos el país a España y en la sección Idiomas damos clic en Agregar un idioma:

En el panel Agregar un idioma buscamos Español y de la lista de idiomas mostrados seleccionamos el Español Español:

Nos mostrara una lista de regiones con idioma español, seleccionamos el que dice Español (España):

Una vez seleccionado nos regresa al panel anterior. ahí en Idiomas, en el idioma Español (España) seleccionamos el botón Opciones:

Damos al botón Descargar que se encuentra bajo el texto “Descargar paquete de idioma”:

Esperamos que termine la descarga del paquete de idioma y enseguida nos llevara al panel Región e idioma. En la sección Idiomas nos aparecerá Español (España) con el mensaje “Será el idioma para mostrar la próxima vez que inicies sesión”.

Procedemos a cerrar e iniciar sesión o a reiniciar nuestra computadora y una vez hecho esto podemos hacer la instalación de SQL Server 2017 Express sin problemas. Una vez instalado, podemos regresar el idioma de nuestra computadora nuevamente a nuestro idioma favorito.

Regístrate en el blog para recibir notificaciones de nuevas entradas. Cualquier comentario es bienvenido. No olvides visitar los anunciantes.

¡Hasta pronto!

 

Publicado el Dejar un comentario

Vagrant was unable to mount VirtualBox shared folders.

A iniciar el box de icinga2 me mandaba el mensaje siguiente:

Vagrant was unable to mount VirtualBox shared folders. This is usually because the filesystem "vboxsf" is not available. This filesystem is made available via the VirtualBox Guest Additions and kernel module. Please verify that these guest additions are properly installed in the guest. This is not a bug in Vagrant and is usually caused by a faulty Vagrant box. For context, the command attempted was:

mount -t vboxsf -o uid=1000,gid=1000 vagrant /vagrant

The error output from the command was:

: No such file or directory

En mi caso se debía a un bug en la versión de VirtualBox Guest Additions (vbguest) instalada en el box (la 5.1.21). Así que procedí a instalar la última versión (5.1.22) ejecutando las siguientes instrucciones:

%vagrant plugin install vagrant-vbguest
%vagrant up
%vagrant vbguest
%vagrant halt
%vagrant up

Instalar el más reciente plugin de vbguest, iniciar el box, instalar la última versión de vbguest, parar el box y volverlo a arrancar.

El mensaje de error desapareció. Espero les ayude.

¡Saludos!