Поделиться через


DataGridViewCellValidatingEventArgs Класс

Определение

Предоставляет данные для CellValidating события DataGridView элемента управления.

public ref class DataGridViewCellValidatingEventArgs : System::ComponentModel::CancelEventArgs
public class DataGridViewCellValidatingEventArgs : System.ComponentModel.CancelEventArgs
type DataGridViewCellValidatingEventArgs = class
    inherit CancelEventArgs
Public Class DataGridViewCellValidatingEventArgs
Inherits CancelEventArgs
Наследование
DataGridViewCellValidatingEventArgs

Примеры

Следующий пример кода обрабатывает CellValidating событие, чтобы гарантировать ввод только положительных целых чисел пользователем. Этот пример является частью более крупного примера, доступного в справочном VirtualMode разделе.

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

Комментарии

Событие DataGridView.CellValidating позволяет отменить изменения текущей ячейки, если новое значение недопустимо. FormattedValue Используйте свойство для определения текущего значения. Чтобы определить состояние текущей ячейки, используйте RowIndexColumnIndex свойства для доступа к ячейке через коллекцию DataGridView.Rows . Чтобы отменить изменение, задайте Cancel для свойства значение true.

Если это событие отменено в режиме привязки к данным, новое значение не отправляется в базовый источник данных. При отмене этого события в виртуальном режиме DataGridView.CellValuePushed событие не будет вызываться.

Свойства

Имя Описание
Cancel

Возвращает или задает значение, указывающее, следует ли отменить событие.

(Унаследовано от CancelEventArgs)
ColumnIndex

Возвращает индекс столбца ячейки, которую необходимо проверить.

FormattedValue

Возвращает отформатированное содержимое ячейки, которую необходимо проверить.

RowIndex

Возвращает индекс строки ячейки, которую необходимо проверить.

Методы

Имя Описание
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к

См. также раздел