Cómo: Validar datos mientras se modifica la fila
Validar los datos es el proceso de comprobar los valores que se escriben en los datos de la aplicación. Se recomienda comprobar estos valores antes de enviar las actualizaciones al almacén de datos subyacente. Esto se debe a que se reduce la cantidad de viajes de ida y vuelta entre una aplicación y el almacén de datos.
Nota
El Diseñador de DataSet crea una clase parcial en la que la lógica de validación se puede agregar a un conjunto de datos.El conjunto de datos generado por el diseñador no eliminará ni cambiará ningún código de la clase parcial.
Puede validar los datos cuando se modifican los valores en una fila de datos respondiendo al evento RowChanging. Cuando se provoca, este evento pasa un argumento de evento (e.Row) que contiene los valores propuestos para cada columna de la fila actual. En función del contenido de cada columna en e.Row, puede:
Aceptar el valor propuesto sin hacer nada.
Rechazar el valor propuesto estableciendo el error de la columna (SetColumnError) desde el controlador de eventos que ha modificado la fila.
Utilizar opcionalmente un control ErrorProvider para mostrar un mensaje de error al usuario. Para obtener más información, vea ErrorProvider (Componente, Formularios Windows Forms).
También se puede realizar la validación durante las modificaciones de columnas individuales mediante el evento ColumnChanging. Para obtener más información, vea Cómo: Validar datos mientras se modifica una columna.
Validar datos en el evento RowChanging
Puede escribir código para comprobar que cada columna que desee validar contiene datos que cumplen los requisitos de la aplicación. Si el valor propuesto no es aceptable, establezca la columna para indicar que contiene un error. Los ejemplos siguientes establecen un error de la columna cuando la columna Quantity es igual o menor que 0. Los controladores de eventos que modifican la fila se parecerán a los ejemplos siguientes.
Para validar los datos cuando se modifica una fila (Visual Basic)
Abra su conjunto de datos en el Diseñador de DataSet. Para obtener más información, vea Cómo: Abrir un objeto Dataset en el Diseñador de Dataset.
Haga doble clic en la barra de título de la tabla que desee validar. Esta acción crea automáticamente el controlador de eventos RowChanging del control DataTable en el archivo de clase parcial del conjunto de datos.
Sugerencia
Haga doble clic a la izquierda del nombre de la tabla para crear el controlador de eventos que modifique la fila.Si hace doble clic en el nombre de tabla, puede modificar el nombre de tabla.
Private Sub Order_DetailsDataTable_Order_DetailsRowChanging( ByVal sender As System.Object, ByVal e As Order_DetailsRowChangeEvent ) Handles Me.Order_DetailsRowChanging If CType(e.Row.Quantity, Short) <= 0 Then e.Row.SetColumnError("Quantity", "Quantity must be greater than 0") Else e.Row.SetColumnError("Quantity", "") End If End Sub
Para validar los datos cuando se modifica una fila (C#)
Abra su conjunto de datos en el Diseñador de DataSet. Para obtener más información, vea Cómo: Abrir un objeto Dataset en el Diseñador de Dataset.
Haga doble clic en la barra de título de la tabla que desee validar. Esta acción crea un archivo de clase parcial para el control DataTable.
Nota
El Diseñador de DataSet no crea automáticamente un controlador de eventos para el evento RowChanging.Debe crear un método para controlar el evento RowChanging y ejecutar el código para enlazar el evento en el método de inicialización de la tabla.
Copie el código siguiente en la clase parcial:
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", ""); } }
Vea también
Tareas
Cómo: Conectarse a los datos de una base de datos
Cómo: Validar datos mientras se modifica una columna
Tutorial: Mostrar datos en Windows Forms
Referencia
Eventos (Guía de programación de C#)
Conceptos
Información general sobre TableAdapter
Crear y editar conjuntos de datos con tipo
Información general sobre orígenes de datos