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


DataGridViewCellParsingEventArgs Класс

Определение

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

public ref class DataGridViewCellParsingEventArgs : System::Windows::Forms::ConvertEventArgs
public class DataGridViewCellParsingEventArgs : System.Windows.Forms.ConvertEventArgs
type DataGridViewCellParsingEventArgs = class
    inherit ConvertEventArgs
Public Class DataGridViewCellParsingEventArgs
Inherits ConvertEventArgs
Наследование
DataGridViewCellParsingEventArgs

Примеры

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

// Handling CellParsing allows one to accept user input, then map it to a different
// internal representation.
void dataGridView1_CellParsing( Object^ /*sender*/, DataGridViewCellParsingEventArgs^ e )
{
   if ( this->dataGridView1->Columns[ e->ColumnIndex ]->Name->Equals( "Release Date" ) )
   {
      if ( e != nullptr )
      {
         if ( e->Value != nullptr )
         {
            try
            {
               // Map what the user typed into UTC.
               e->Value = DateTime::Parse( e->Value->ToString() ).ToUniversalTime();

               // Set the ParsingApplied property to 
               // Show the event is handled.
               e->ParsingApplied = true;
            }
            catch ( FormatException^ /*ex*/ ) 
            {
               // Set to false in case another CellParsing handler
               // wants to try to parse this DataGridViewCellParsingEventArgs instance.
               e->ParsingApplied = false;
            }
         }
      }
   }
}
// Handling CellParsing allows one to accept user input, then map it to a different
// internal representation.
private void dataGridView1_CellParsing(object sender, DataGridViewCellParsingEventArgs e)
{
    if (this.dataGridView1.Columns[e.ColumnIndex].Name == "Release Date")
    {
        if (e != null)
        {
            if (e.Value != null)
            {
                try
                {
                    // Map what the user typed into UTC.
                    e.Value = DateTime.Parse(e.Value.ToString()).ToUniversalTime();
                    // Set the ParsingApplied property to 
                    // Show the event is handled.
                    e.ParsingApplied = true;
                }
                catch (FormatException)
                {
                    // Set to false in case another CellParsing handler
                    // wants to try to parse this DataGridViewCellParsingEventArgs instance.
                    e.ParsingApplied = false;
                }
            }
        }
    }
}
' Handling CellParsing allows one to accept user input, then map it to a different
' internal representation.
Private Sub dataGridView1_CellParsing(ByVal sender As Object, _
    ByVal e As DataGridViewCellParsingEventArgs) _
    Handles dataGridView1.CellParsing

    If Me.dataGridView1.Columns(e.ColumnIndex).Name = _
        "Release Date" Then
        If e IsNot Nothing Then
            If e.Value IsNot Nothing Then
                Try
                    ' Map what the user typed into UTC.
                    e.Value = _
                    DateTime.Parse(e.Value.ToString()).ToUniversalTime()
                    ' Set the ParsingApplied property to 
                    ' Show the event is handled.
                    e.ParsingApplied = True

                Catch ex As FormatException
                    ' Set to false in case another CellParsing handler
                    ' wants to try to parse this DataGridViewCellParsingEventArgs instance.
                    e.ParsingApplied = False
                End Try
            End If
        End If
    End If
End Sub

Комментарии

Обработайте CellParsing событие, чтобы обеспечить преобразование пользовательских значений из указанного пользователем значения в значение в типе, указанном свойством ячейки ValueType .

При обработке CellParsing события можно преобразовать значение самостоятельно или настроить преобразование по умолчанию. Например, можно преобразовать значение самостоятельно с помощью метода ячейки ParseFormattedValue с преобразователями типов выбранного значения. Кроме того, можно разрешить преобразователям типов по умолчанию анализировать значение, но изменять NullValueDataSourceNullValueсвойства объекта, возвращаемого свойствомDataGridViewCellParsingEventArgs.InheritedCellStyle, который инициализирован FormatProvider с помощью свойства ячейкиInheritedStyle.

При преобразовании значения замените исходное отформатированное значение ConvertEventArgs.Value свойства преобразованным значением в типе, указанном свойством ячейки ValueType . Чтобы указать, что никакого дальнейшего DataGridViewCellParsingEventArgs.ParsingApplied синтаксического анализа не требуется, задайте для свойства значение true.

После завершения обработчика событий, если Valuenull он не является правильным типом или ParsingApplied свойством false, Value он анализируется с помощью метода ячейки ParseFormattedValue с преобразователями типов по умолчанию. Реализация этого метода по умолчанию анализирует значение с помощью NullValueи DataSourceNullValueFormatProvider свойств передаваемого стиля ячейки. Если значение не равно NullValue, то значение анализируется с помощью FormatProvider свойства и преобразователей типов, переданных в.

Чтобы настроить преобразование значения ячейки в форматируемое значение для отображения, обработайте CellFormatting событие.

Дополнительные сведения об обработке событий см. в разделе "Обработка и создание событий".

Конструкторы

Имя Описание
DataGridViewCellParsingEventArgs(Int32, Int32, Object, Type, DataGridViewCellStyle)

Инициализирует новый экземпляр класса DataGridViewCellParsingEventArgs.

Свойства

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

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

DesiredType

Возвращает тип данных требуемого значения.

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

Возвращает или задает стиль, применяемый к измененной ячейке.

ParsingApplied

Возвращает или задает значение, указывающее, успешно ли выполнен анализ значения ячейки.

RowIndex

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

Value

Возвращает или задает значение ConvertEventArgsобъекта .

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

Методы

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

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

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

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

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

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

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

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

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

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

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

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

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