Cómo: Validar datos mientras se modifica una columna
Validar los datos es el proceso de comprobar los valores que se escriben en los datos de la aplicación. Comprobar estos valores antes de enviar actualizaciones al almacén de datos subyacente es una buena práctica que reduce la posible cantidad de acciones 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. Para obtener más información, vea Cómo: Extender la funcionalidad de un conjunto de datos.
Se pueden validar datos cuando el valor en una columna de datos cambia al responder al evento ColumnChanging. Cuando se produce, este evento pasa un argumento de evento (ProposedValue) que contiene el valor propuesto para la columna actual. En base al contenido de e.ProposedValue, se puede:
Aceptar el valor propuesto no haciendo nada.
Rechazar el valor propuesto al establecer el error de la columna (SetColumnError) desde dentro del controlador de eventos de cambio de columna.
De forma opcional utilice un control ErrorProvider para mostrar un mensaje de error al usuario. Para obtener más información, vea ErrorProvider (Componente, Formularios Windows Forms).
La validación también se puede realizar durante el evento RowChanging. Para obtener más información, vea Cómo: Validar datos mientras se modifica la fila.
Para validar datos como cambio de valores de columna
Abra el 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 columna que desee validar. Esta acción crea el controlador de eventos ColumnChanging de la DataTable.
Nota
El Diseñador de DataSet no crea ningún controlador de eventos automáticamente para el evento de C#. El código necesario para controlar el evento se incluye a continuación.
Agregue el código para comprobar que e.ProposedValue contiene datos que son compatibles con los requisitos de la aplicación. Si el valor propuesto no es aceptable, establezca la columna para indicar que contiene un error.
El ejemplo de código siguiente establece un error de columna cuando la columna Quantity es 0 ó menos. El controlador de eventos de cambio de columna debe lucir similar a lo siguiente:
'Visual Basic Private Sub Order_DetailsDataTable_ColumnChanging(ByVal sender As System.Object, ByVal e As System.Data.DataColumnChangeEventArgs) _ Handles Me.ColumnChanging If (e.Column.ColumnName = Me.QuantityColumn.ColumnName) Then 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 End If End Sub // C# // Add this code to the DataTable // partial class. public override void EndInit() { base.EndInit(); ColumnChanging += SampleColumnChangingEvent; } public void SampleColumnChangingEvent(object sender, System.Data.DataColumnChangeEventArgs e) { if (e.Column.ColumnName == QuantityColumn.ColumnName) { if ((short)e.ProposedValue <= 0) { e.Row.SetColumnError("Quantity", "Quantity must be greater than 0"); } else { e.Row.SetColumnError("Quantity", ""); } } }
Vea también
Tareas
Tutorial: Mostrar datos en un formulario Windows Forms
Cómo: Validar datos en el control DataGridView de formularios Windows Forms
Cómo: Conectarse a los datos de una base de datos
Referencia
Conceptos
Información general sobre TableAdapter
Información general sobre orígenes de datos