Trabajando Con Dataset Tipados

Embed Size (px)

Citation preview

Trabajando con Dataset tipado

Trabajando con Dataset tipadosInstructor: Jorge Luis Vizcarra CrdenasNo siempre es funcional tener un control dataGridView que contenga demasiadas columnas a editar, en el ejemplo anterior vimos cmo podamos personalizarlo.Ahora veremos cmo podemos crear algo ms funcional utilizando un control ListBox enlazado a datos.Para no complicarnos con la navegacin y funcionalidades propias del mantenimiento. Usaremos un control bindingNavigator para estos propsitos.Construyendo Interfaces de usuario ms funcionalesEntre a Visual C# 2008 Express Edition y cree un nuevo proyecto de tipo Windows FormsInmediatamente haga click en el men datos y escoja la opcin Agregar nuevo origen de datos, configure una conexin con la base de datos Northwind , agregue las tablas Categories, Products y Suppliers en forma completa, guarde la cadena de conexin en el archivo de configuraciones y mantenga el nombre sugerido para el objeto Dataset.Estableciendo ConexionesLa ventana de origen de datos debe visualizarse de la siguiente manera:Diseando la Interfaz

En la ventana de origen de datos configure la tabla Products de tal manera que en lugar de visualizarse por vista Detalles o DataGridView se muestre por ListBoxDiseando la Interfaz

Una vez configurado lo anterior, arrastre la tabla Products hacia la superficie del formulario, debe obtener el siguiente resultado:Diseando la Interfaz

Una vez concluida esta parte, ahora arrastre desde la ventana de Origen de datos, cada campo de la tabla Products sobre la superficie del formulario, (uno por uno).En este caso, (como en muchos otros), no hay necesidad de utilizar algunos de los campos insertados, elimine los textbox (y label) correspondientes a: CategoryID y SupplierID, as como ProductID.Reemplace los textbox eliminados de CategoryId y SupplierID por dos controles ComboBox. (En el caso del campo ProductID no es necesario hacer ningn reemplazo, permanecer eliminado de la interfaz).Diseando la InterfazVamos a configurar el control ComboBox correspondiente al campo CategoryID de la siguiente manera:Seleccione el ComboBox de la Categora y configrelo como en la imagen:Configurando los controles ComboBox

Haga una configuracin similar para el ComboBox de SuppliersIDLuego de algunos ajustes de alineamiento, tipo de fuente, etc. La interfaz de usuario debe quedar como sigue:Interfaz Terminada

Ejecute y pruebe la aplicacin de tal manera que pueda observar lo sencillo que es desplazarse al interior de la tabla ProductsPruebe agregando un nuevo producto y dejando en blanco el campo DiscontinuedPruebe editando una fila cualquiera y colocando un valor negativo en el campo UnitPriceAnalice los errores obtenidosObservacionesSi se produjo este error mientras intentaba agregar un nuevo producto es debido a que el campo Discontinued no se encuentra bien configurado desde el diseo. Corrija de la siguiente manera:Error del campo Discontinued

Este error es desencadenado por un usuario que no escribi un vlido dato para este campo. Para corregirlo necesitamos programar el evento CurrentItemChanged del objeto productsBindingSource de la siguiente manera:Agregue un control ErrorProvider hacia el formulario, el cual est en la seccin Componentes del cuadro de herramientas.Este control no es visible en tiempo de ejecucin.Error en UnitPrice

Entramos al evento mencionado en la diapositiva anterior y escribimos el siguiente cdigo:Error en UnitPrice

Comprobando

Analice qu inconvenientes puede generar el cdigo anterior e investigue como solucionarlosControle las actualizaciones de los registros de manera correcta, ya que el cdigo anterior no impedir que se intente guardar los cambios usando el control bindingNavigator.Investigacin: Utilizacin de cast en C#: principales formas de hacer cast.Cast: conversin de tipos de datos.ActividadFinElaborado por:Jorge Luis Vizcarra Crdenashttp://[email protected]@gmail.com