DataGridViewCellParsingEventHandler Делегат

Определение

Представляет метод, c помощью которого будет выполняться обработка события CellParsing объекта DataGridView.Represents the method that will handle a CellParsing event of a DataGridView.

public delegate void DataGridViewCellParsingEventHandler(System::Object ^ sender, DataGridViewCellParsingEventArgs ^ e);
public delegate void DataGridViewCellParsingEventHandler(object sender, DataGridViewCellParsingEventArgs e);
type DataGridViewCellParsingEventHandler = delegate of obj * DataGridViewCellParsingEventArgs -> unit
Public Delegate Sub DataGridViewCellParsingEventHandler(sender As Object, e As DataGridViewCellParsingEventArgs)

Параметры

sender
Object

Источник события.The source of the event.

e
DataGridViewCellParsingEventArgs

Объект DataGridViewCellParsingEventArgs, содержащий данные события.A DataGridViewCellParsingEventArgs that contains the event data.

Наследование
DataGridViewCellParsingEventHandler

Примеры

В следующем примере кода показано использование DataGridViewCellParsingEventHandler для проверки допустимости записей даты.The following code example demonstrates using DataGridViewCellParsingEventHandler to check the validity of date entries.

// 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

Комментарии

Обрабатывает событие, чтобы обеспечить преобразование пользовательского значения из указанного пользователем значения в тип, заданный свойством ячейки ValueType. CellParsingHandle the CellParsing event to provide custom value conversion from a user-specified value to a value in the type specified by the cell ValueType property.

При обработке CellParsing события можно преобразовать значение самостоятельно или настроить преобразование по умолчанию.When you handle the CellParsing event, you can convert the value yourself or you can customize the default conversion. Например, можно преобразовать значение самостоятельно с помощью метода ячейки ParseFormattedValue с выбранными преобразователями типов.For example, you can convert the value yourself using the cell ParseFormattedValue method with type converters of your choosing. Кроме того, можно разрешить преобразователям типов по умолчанию анализировать значение, но изменять NullValueсвойства DataSourceNullValue, и FormatProvider объекта, возвращаемые DataGridViewCellParsingEventArgs.InheritedCellStyle свойством, которое инициализируется с помощью ячейки InheritedStyle . свойства.Alternatively, you can let the default type converters parse the value, but modify the NullValue, DataSourceNullValue, and FormatProvider properties of the object returned by the DataGridViewCellParsingEventArgs.InheritedCellStyle property, which is initialized using the cell InheritedStyle property.

При самостоятельном преобразовании значения замените начальное, отформатированное значение ConvertEventArgs.Value свойства преобразованным значением в типе, указанном свойством Cell. ValueTypeWhen you convert the value yourself, replace the initial, formatted value of the ConvertEventArgs.Value property with the converted value in the type specified by the cell ValueType property. Чтобы указать, что дальнейший синтаксический анализ не требуется, DataGridViewCellParsingEventArgs.ParsingApplied присвойте trueсвойству значение.To indicate that no further parsing is necessary, set the DataGridViewCellParsingEventArgs.ParsingApplied property to true.

По завершении работы обработчика событий, если Value параметр null имеет значение или имеет неправильный тип или ParsingApplied свойство имеет falseзначение, то Value анализируется с помощью метода ячейки ParseFormattedValue с преобразователями типов по умолчанию.When the event handler completes, if the Value is null or is not of the correct type, or the ParsingApplied property is false, the Value is parsed using the cell ParseFormattedValue method with default type converters. Реализация по умолчанию этого метода анализирует значение с помощью NullValueсвойств, DataSourceNullValueи FormatProvider переданного стиля ячейки.The default implementation of this method parses the value using the NullValue, DataSourceNullValue, and FormatProvider properties of the cell style passed in. Если значение не равно NullValue, то значение анализируется FormatProvider с помощью свойства и переданных преобразователей типов.If the value is not equal to NullValue, the value is parsed using the FormatProvider property and the type converters passed in.

Чтобы настроить преобразование значения ячейки в отформатированное значение для вывода, обработайте CellFormatting событие.To customize the conversion of a cell value into a formatted value for display, handle the CellFormatting event.

Дополнительные сведения об обработке событий см. в разделе обработка и вызов событий.For more information about how to handle events, see Handling and Raising Events.

При создании делегата DataGridViewCellParsingEventHandler необходимо указать метод, обрабатывающий событие.When you create a DataGridViewCellParsingEventHandler delegate, you identify the method that will handle the event. Чтобы связать событие с обработчиком событий, нужно добавить в событие экземпляр делегата.To associate the event with your event handler, add an instance of the delegate to the event. Обработчик событий вызывается всякий раз, когда происходит событие, если делегат не удален.The event handler is called whenever the event occurs, unless you remove the delegate. Дополнительные сведения о делегатах обработчиков событий см. в разделе обработка и вызов событий.For more information about event-handler delegates, see Handling and Raising Events.

Методы расширения

GetMethodInfo(Delegate)

Получает объект, представляющий метод, представленный указанным делегатом.Gets an object that represents the method represented by the specified delegate.

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

Дополнительно