Tutorial: Agregar validación a un conjunto de datos
En este tutorial se muestra cómo validar los datos cuando se realizan cambios en un conjunto de datos. El momento en que realice las comprobaciones de validación de los datos depende de los requisitos de su aplicación; para este tutorial, validaremos los datos durante la realización de cambios en los valores de columnas concretas. Este tutorial utiliza el evento ColumnChanging para comprobar que se especifica un valor aceptable en el registro. Si el valor no es válido, se muestra al usuario un control ErrorProvider.
En el ejemplo también se muestra cómo utilizar el Diseñador de DataSet para crear una clase parcial para el conjunto de datos. (La clase parcial es donde los usuarios pueden agregar código para ampliar la funcionalidad del conjunto de datos generado por Visual Studio. No se sobrescribe si se vuelve a generar el conjunto de datos.)
Nota
Es posible que tu equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio en las siguientes instrucciones. La edición de Visual Studio que se tenga y la configuración que se utilice determinan estos elementos. Para obtener más información, consulte Personalizar la configuración de desarrollo en Visual Studio.
Las tareas ilustradas en este tutorial incluyen:
Crear un nuevo proyecto Aplicación Windows.
Crear y configurar un conjunto de datos con el Asistente para la configuración de orígenes de datos.
Seleccionar el control que se va a crear en el formulario al arrastrar elementos desde la ventana Orígenes de datos. Para obtener más información, vea Cómo: Establecer el control que se creará al arrastrar desde la ventana de orígenes de datos.
Crear controles enlazados a datos arrastrando elementos desde la Orígenes de datos (ventana) hasta su formulario.
Crear una clase parcial para extender la funcionalidad del conjunto de datos.
Crear un controlador de eventos para el evento ColumnChanging de la tabla OrderDetails.
Agregar validación para confirmar que la columna Quantity contiene valores mayores que 0.
Mostrar un ErrorProvider (Componente, Formularios Windows Forms) para informar a los usuarios de que un control enlazado a datos contiene valores no válidos.
Requisitos previos
Para completar las tareas de este tutorial, necesitará:
- Acceso a la base de datos de ejemplo Northwind. Para obtener más información, vea Cómo: Instalar bases de datos de ejemplo.
Crear una nueva aplicación para Windows
Para crear el nuevo proyecto de aplicación para Windows
En el menú Archivo, cree un nuevo proyecto.
Asigne al proyecto el nombre ValidationWalkthrough.
Seleccione Aplicación para Windows y haga clic en Aceptar. Para obtener más información, vea Desarrollar aplicaciones cliente con .NET Framework.
El proyecto ValidationWalkthrough se crea y se agrega al Explorador de soluciones.
Crear un nuevo origen de datos a partir de su base de datos
Para crear el origen de datos
En el menú Datos, haga clic en Mostrar orígenes de datos.
En la ventana Orígenes de datos, seleccione Agregar nuevo origen de datos para iniciar el Asistente para configuración de orígenes de datos.
Seleccione Base de datos en la página Elegir un tipo de datos de origen y luego haga clic en Siguiente.
En la página Elegir la conexión de datos realice una de las siguientes operaciones:
Si una conexión de datos a la base de datos de ejemplo Northwind está disponible en la lista desplegable, selecciónela.
O bien
Seleccione Nueva conexión para iniciar el cuadro de diálogo Agregar o modificar conexión.
Si su base de datos requiere una contraseña, seleccione la opción para incluir datos confidenciales y haga clic en Siguiente.
Haga clic en Siguiente en la página Guardar la cadena de conexión en el archivo de configuración de la aplicación.
Expanda el nodo Tables en la página Elija los objetos de base de datos.
Seleccione la tabla Order Details y, a continuación, haga clic en Finalizar.
Se agrega a su proyecto NorthwindDataSet y la tabla OrderDetails aparece en la ventana Orígenes de datos.
Crear controles enlazados a datos
Para crear controles enlazados en el formulario
En la ventana Orígenes de datos, seleccione la tabla Order Details.
Elija Detalles en la lista de controles de la tabla.
Arrastre el nodo Detalles de pedido desde la ventana Orígenes de datos hasta Form1.
Los controles enlazados a datos con etiquetas descriptivas aparecen en el formulario, junto con una barra de herramientas (BindingNavigator) para navegar por los registros. Los controles enlazados a datos con etiquetas descriptivas aparecen en el formulario, junto con una barra de herramientas (BindingNavigator) para navegar por los registros. NorthwindDataSet, Order_DetailsTableAdapter, BindingSourcey BindingNavigator aparecerán en la bandeja de componentes.
Agregar un control ErrorProvider al formulario
Para configurar un control ErrorProvider
Arrastre un ErrorProvider desde el Cuadro de herramientas hasta Form1.
En la ventana Propiedades, establezca la propiedad ErrorProvider de DataSource en el origen Order_DetailsBindingSource.
Nota
No establezca la propiedad DataMember.
Crear el controlador de eventos ColumnChanging
Para crear los controladores de eventos de la validación
Abra el conjunto de datos NorthwindDataSet en el Diseñador de DataSet haciendo doble clic en el archivo NorthwindDataSet.xsd en el Explorador de soluciones.
Haga doble clic en la columna Quantity de la tabla OrderDetails para crear el controlador de eventos OrderDetailsDataTable_ColumnChanging. (Sólo en C# se creará la clase parcial de la tabla de datos.)
Nota
Al hacer doble clic en el nombre de la tabla (Order Details en la barra de título) se crea un controlador de eventos para el evento RowChanging.
Agregue código para comprobar que e.ProposedValue contiene valores mayores que 0. Si el valor propuesto es 0 o inferior, establezca la columna para indicar que contiene un error.
Pegue el código siguiente en el controlador de eventos de cambio de columna debajo del comentario Agregar código de usuario aquí:
If CType(e.ProposedValue, Short) <= 0 Then e.Row.SetColumnError(e.Column, "Quantity must be greater than 0") Else e.Row.SetColumnError(e.Column, "") End If
// C# // Add the following code // to the partial class. public override void EndInit() { base.EndInit(); Order_DetailsRowChanging += TestRowChangeEvent; } public void TestRowChangeEvent(object sender, Order_DetailsRowChangeEvent e) { if ((short)e.Row.Quantity <= 0) { e.Row.SetColumnError("Quantity", "Quantity must be greater than 0"); } else { e.Row.SetColumnError("Quantity", ""); } }
Probar la aplicación
Para probar la aplicación
Presione F5 para ejecutar la aplicación.
Cambie el valor en el cuadro de texto Cantidad a 0.
Presione TAB para sacar el foco del cuadro de texto.
Aparecerá el icono de proveedor de error.
Coloque el puntero del mouse sobre el proveedor del error para ver el mensaje.
Pasos siguientes
Dependiendo de los requisitos de la aplicación, puede ser conveniente realizar varios pasos después de agregar la validación. Entre las mejoras que podría realizar se incluyen:
Agregar funcionalidad para devolver actualizaciones a la base de datos. Para obtener más información, vea Tutorial: Guardar datos en una base de datos (Tabla única).
Modificar el conjunto de datos agregando o quitando objetos de la base de datos. Para obtener más información, vea Cómo: Editar un conjunto de datos.
Vea también
Conceptos
Enlazar controles de Windows Forms a datos en Visual Studio
Preparar la aplicación para recibir datos
Enlazar controles a los datos en Visual Studio
Modificar datos en la aplicación