DataGridView.CellValidating Zdarzenie

Definicja

Występuje, gdy komórka utraci fokus wprowadzania, włączając sprawdzanie poprawności zawartości.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 

Typ zdarzenia

DataGridViewCellValidatingEventHandler

Przykłady

Poniższy przykład kodu obsługuje zdarzenie, CellValidating Aby upewnić się, że użytkownik wprowadza tylko dodatnie liczby całkowite.The following code example handles the CellValidating event to ensure that only positive integers are entered by the user. Ten przykład jest częścią większego przykładu dostępnego w VirtualMode temacie Reference.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

Uwagi

Anulowanie tego zdarzenia powoduje anulowanie zmian w bieżącej komórce.Canceling this event cancels the changes to the current cell. Po anulowaniu tego zdarzenia w trybie związanym z danymi nowa wartość nie jest wypychana do bazowego źródła danych.When this event is canceled in data-bound mode, the new value is not pushed to the underlying data source. Gdy to zdarzenie zostanie anulowane w trybie wirtualnym, CellValuePushed zdarzenie nie zostanie zgłoszone.When this event is canceled in virtual mode, the CellValuePushed event will not be raised.

Obsłuż CellValidated zdarzenie, aby wykonać przetwarzanie po walidacji.Handle the CellValidated event to perform post-validation processing.

Aby uzyskać więcej informacji o sposobie obsługi zdarzeń, zobacz Obsługa iwywoływanie zdarzeń.For more information about how to handle events, see Handling and Raising Events.

Dotyczy

Zobacz też