Esta documentación está archivada y no tiene mantenimiento.

DataGridViewCellValidatingEventArgs (Clase)

Actualización: noviembre 2007

Proporciona datos para el evento CellValidating de un control DataGridView.

Espacio de nombres:  System.Windows.Forms
Ensamblado:  System.Windows.Forms (en System.Windows.Forms.dll)

public class DataGridViewCellValidatingEventArgs : CancelEventArgs
public class DataGridViewCellValidatingEventArgs extends CancelEventArgs
public class DataGridViewCellValidatingEventArgs extends CancelEventArgs

El evento DataGridView.CellValidating permite cancelar los cambios a la celda actual cuando el nuevo valor no es válido. La propiedad FormattedValue se utiliza para determinar el valor actual. Para determinar el estado de la celda actual, utilice las propiedades RowIndex y ColumnIndex para tener acceso a la celda a través de la colección DataGridView.Rows. Para cancelar el cambio de modo, establezca la propiedad Cancel en true.

Cuando este evento se cancela en modo enlazado a datos, el nuevo valor no se inserta en el origen de datos subyacente. Cuando este evento se cancela en modo virtual, no se provocará el evento DataGridView.CellValuePushed.

El ejemplo de código siguiente controla el evento CellValidating para garantizar que el usuario escriba sólo enteros positivos. Este ejemplo forma parte de un ejemplo más extenso que está disponible en el tema referente a VirtualMode.

private void dataGridView1_CellValidating(object sender,
    DataGridViewCellValidatingEventArgs e)
{
    dataGridView1.Rows[e.RowIndex].ErrorText = "";
    int newInteger;

    // Don't try to validate the 'new row' until finished 
    // editing since there
    // is not any point in validating its initial value.
    if (dataGridView1.Rows[e.RowIndex].IsNewRow) { return; }
    if (!int.TryParse(e.FormattedValue.ToString(),
        out newInteger) || newInteger < 0)
    {
        e.Cancel = true;
        dataGridView1.Rows[e.RowIndex].ErrorText = "the value must be a non-negative integer";
    }
}


private void dataGridView1_CellValidating(Object sender,
    DataGridViewCellValidatingEventArgs e)
{
    int newInteger = 0;
    // Don't try to validate the 'new row' until finished 
    // editing since there
    // is not any point in validating its initial value.
    if (dataGridView1.get_Rows().get_Item(
        e.get_RowIndex()).get_IsNewRow()) {
        return;
    }
    if (!(Int32.TryParse(e.get_FormattedValue().ToString(), newInteger)) 
        || newInteger < 0) {
        e.set_Cancel(true);
    }
} //dataGridView1_CellValidating


System.Object
  System.EventArgs
    System.ComponentModel.CancelEventArgs
      System.Windows.Forms.DataGridViewCellValidatingEventArgs

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0
Mostrar: