lunes, 5 de abril de 2010

ComboBox

Conocido también como DropDown, en este post le vamos a mostrar 4 de las propiedades de este útil y necesario objeto para el desarrollo de nuestras aplicaciones ya sean en un entorno Web o Win32. Para comenzar veremos la propiedad llamada DropDownStyle: En esta propiedad podemos proteger a nuestro combo de que no le permita al usuario escribir sobre este cuando nuestra aplicación  se este ejecutando es decir, si tenemos un combo que usamos de menú y los valores provienen de una Base de datos, lo correcto seria que solo se actualice nuestro combo desde la misma base de datos y no se permita agregarle datos desde nuestra aplicación (manualmente). Pues seleccionamos en DropDownStyle la opción 'DropDownList' y ya esta.

Otra propiedad es Items que es la utilizada para agregarle valores al Combo en caso que no lo necesitemos actualizar desde una base de datos. Hacemos clic en la propiedad y en el cuadro que aparecerá escribimos los artículos, nombres, etc, todo lo que necesitemos mostrar en nuestro combo.

Las otras dos propiedades son el DisplayMember y el ValueMember. Antes de explicarle estas propiedades, debemos asumir que estamos cargando nuestro combo con una base de datos y que cada nombre de cada registro que se va  a mostrar tiene ID único. El combo lo cargamos con un Query a la base de datos ej:  Select ID_Producto, Nombre_Producto from Productos. Aqui estamos solicitando a la base de datos que nos muestre los ID_Productos y Nombre_Productos de la tabla Productos. Entonces, el display member es el valor que mostraremos o mejor dicho, cada valor que mostraremos en el combo y  el value member es el ID perteneciente a cada Nombre mostrado. Veamos un ejemplo:

si tenemos dos registros en la una base de datos llamada Productos y tenemos los siguientes valores:
para el producto 1:

ID_Producto = 1 | Nombre_Producto = Manzana|

para el producto 2:

ID_Producto = 2 | Nombre_Producto = Pera

entonces, para nuestro combo tenemos lo siguiente:

mycombobox.DisplayMember = "Nombre_Producto";
mycombobox.ValueMember = "ID_Producto";

Esto lo que hace es que nos permite mostrar un valor pero que en realidad lo que se esta manejando es el ID del producto, lo que significa que si tenemos miles de productos y no nos lo sabemos por código, seleccionamos el nombre pero en la base de datos se almacenara el ID cuando guardemos la selección y no se almacenara el nombre del producto. 

Al principio yo no le encontraba sentido a esta propiedad pero con las necesidades que me iban apareciendo
necesite utilizarlo y así espero que ustedes también le vean la funcionalidad a estas dos ultimas propiedades.
Espero hayan disfrutado, hasta la próxima!.

1 comentario:

  1. Para seguir aclarando, yo personalmente no le veo sentido usar solo el valuemember, porque que estas mostrando entonces? si lo que muestras en el combo no es para hacer un insert o update, pues puedes usar el displaymember, eso depende de lo que quieras hacer, explícame lo que deseas hacer con el combo para estar mas claro.
    RECUERDA QUE ESTE BLOG TIENE COMO OBJETIVO COMPARTIR CONOCIMIENTOS BASADOS EN EXPERIENCIAS, CUALQUIER DUDA, ESCRIBEME!

    ResponderEliminar

DEJA UN COMENTARIO