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

DataGridViewCellValidatingEventArgs (Clase)

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
No aplicable.

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

Los miembros estáticos públicos (Shared en Visual Basic) 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 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0
Mostrar: