Evaluar y enviar comentarios
Contraer todo/Expandir todo Contraer todo
Esta página es específica de
Microsoft Visual Studio 2008/.NET Framework 3.5

Hay además otras versiones disponibles para:
Biblioteca de clases de .NET Framework
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)
Visual Basic (Declaración)
Public Class DataGridViewCellValidatingEventArgs _
    Inherits CancelEventArgs
Visual Basic (Uso)
Dim instance As DataGridViewCellValidatingEventArgs
C#
public class DataGridViewCellValidatingEventArgs : CancelEventArgs
Visual C++
public ref class DataGridViewCellValidatingEventArgs : public CancelEventArgs
J#
public class DataGridViewCellValidatingEventArgs extends CancelEventArgs
JScript
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.

Visual Basic
Private Sub dataGridView1_CellValidating(ByVal sender As Object, _
    ByVal e _
    As DataGridViewCellValidatingEventArgs) _
    Handles dataGridView1.CellValidating

    Me.dataGridView1.Rows(e.RowIndex).ErrorText = ""
    Dim newInteger As Integer

    ' 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 Then Return
    If Not Integer.TryParse(e.FormattedValue.ToString(), newInteger) _
        OrElse newInteger < 0 Then

        e.Cancel = True
        Me.dataGridView1.Rows(e.RowIndex).ErrorText = "the value must be a non-negative integer"

    End If
End Sub
C#
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";
    }
}
Visual C++
void VirtualConnector::dataGridView1_CellValidating
    (Object^ sender, DataGridViewCellValidatingEventArgs^ e)
{
    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 (!Int32::TryParse(e->FormattedValue->ToString(), 
        newInteger) || (newInteger < 0))
    {
        e->Cancel = true;
    }
}
J#
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
Contenido de la comunidad   ¿Qué es Community Content?
Agregar contenido nuevo RSS  Anotaciones
Processing
© 2012 Microsoft. Reservados todos los derechos. Términos de uso | Marcas Registradas | Privacidad
Page view tracker