DataGridView.CellValidating DataGridView.CellValidating DataGridView.CellValidating DataGridView.CellValidating Event

Definition

Tritt ein, wenn eine Zelle den Eingabefokus verliert, und aktiviert die Inhaltsvalidierung.Occurs when a cell loses input focus, enabling content validation.

public:
 event System::Windows::Forms::DataGridViewCellValidatingEventHandler ^ CellValidating;
public event System.Windows.Forms.DataGridViewCellValidatingEventHandler CellValidating;
member this.CellValidating : System.Windows.Forms.DataGridViewCellValidatingEventHandler 
Public Custom Event CellValidating As DataGridViewCellValidatingEventHandler 

Beispiele

Im folgenden Codebeispiel wird das CellValidating -Ereignis behandelt, um sicherzustellen, dass der Benutzer nur positive ganze Zahlen eingegeben hat.The following code example handles the CellValidating event to ensure that only positive integers are entered by the user. Dieses Beispiel ist Teil eines größeren Beispiels, das VirtualMode im Referenz Thema verfügbar ist.This example is part of a larger example available in the VirtualMode reference topic.

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;
    }
}
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 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

Hinweise

Durch das Abbrechen dieses Ereignisses werden die Änderungen an der aktuellen Zelle abgebrochen.Canceling this event cancels the changes to the current cell. Wenn dieses Ereignis im Daten gebundenen Modus abgebrochen wird, wird der neue Wert nicht an die zugrunde liegende Datenquelle übermittelt.When this event is canceled in data-bound mode, the new value is not pushed to the underlying data source. Wenn dieses Ereignis im virtuellen Modus abgebrochen wird, CellValuePushed wird das-Ereignis nicht ausgelöst.When this event is canceled in virtual mode, the CellValuePushed event will not be raised.

Behandeln Sie CellValidated das-Ereignis, um die Verarbeitung nach der Validierung auszuführen.Handle the CellValidated event to perform post-validation processing.

Weitere Informationen zum Behandeln von Ereignissen finden Sie unter behandeln und Auslösen von Ereignissen.For more information about how to handle events, see Handling and Raising Events.

Gilt für:

Siehe auch