Questa documentazione è stata archiviata e non viene gestita.

Evento DataGridView.CellValidating

Nota: questo evento è stato introdotto con .NET Framework versione 2.0.

Si verifica quando una cella perde lo stato attivo per l'input, attivando la convalida del contenuto.

Spazio dei nomi: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

public event DataGridViewCellValidatingEventHandler CellValidating
/** @event */
public void add_CellValidating (DataGridViewCellValidatingEventHandler value)

/** @event */
public void remove_CellValidating (DataGridViewCellValidatingEventHandler value)

JScript supporta l'utilizzo di eventi ma non la dichiarazione di nuovi.

L'annullamento di questo evento determina l'annullamento delle modifiche apportate alla cella corrente. Quando questo evento viene annullato in modalità di associazione a dati, il nuovo valore non viene inserito nell'origine dati sottostante. Quando questo evento viene annullato in modalità virtuale, l'evento CellValuePushed non verrà generato.

Gestire l'evento CellValidated per eseguire l'elaborazione post-convalida.

Per ulteriori informazioni sulla gestione di eventi, vedere Utilizzo degli eventi.

Nell'esempio di codice riportato di seguito viene gestito l'evento CellValidating per assicurare che verranno immessi dall'utente soltanto valori integer positivi. Questo esempio fa parte di un esempio più esaustivo disponibile nell'argomento relativo alla proprietà 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

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

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema.

.NET Framework

Supportato in: 2.0
Mostra: