DataGridViewCellParsingEventHandler Делегат
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет метод, c помощью которого будет выполняться обработка события CellParsing объекта DataGridView.
public delegate void DataGridViewCellParsingEventHandler(System::Object ^ sender, DataGridViewCellParsingEventArgs ^ e);
public delegate void DataGridViewCellParsingEventHandler(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
Источник события.
Объект DataGridViewCellParsingEventArgs, содержащий данные события.
Примеры
В следующем примере кода показано использование DataGridViewCellParsingEventHandler для проверка допустимости записей даты.
// 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 с преобразователями типов по вашему выбору. Кроме того, можно разрешить преобразователям типов по умолчанию анализировать значение, но изменять NullValueсвойства , DataSourceNullValueи FormatProvider объекта, возвращаемого свойством DataGridViewCellParsingEventArgs.InheritedCellStyle , которое инициализируется с помощью свойства ячейки InheritedStyle .
При преобразовании значения самостоятельно замените исходное форматируемое значение ConvertEventArgs.Value свойства преобразованным значением типа, указанного свойством ячейки ValueType . Чтобы указать, что дальнейший анализ не требуется, присвойте свойству DataGridViewCellParsingEventArgs.ParsingApplied значение true
.
Когда обработчик событий завершается, если Value имеет null
или не имеет правильного типа или ParsingApplied свойство имеет значение false
, Value анализируется с помощью метода ячейки ParseFormattedValue с преобразователями типов по умолчанию. Реализация этого метода по умолчанию анализирует значение с помощью NullValueсвойств , DataSourceNullValueи FormatProvider переданного стиля ячейки. Если значение не равно NullValue, значение анализируется с помощью FormatProvider свойства и передаваемых преобразователей типов.
Чтобы настроить преобразование значения ячейки в форматируемое значение для отображения, обработайте CellFormatting событие .
Дополнительные сведения об обработке событий см. в разделе Обработка и вызов событий.
При создании делегата DataGridViewCellParsingEventHandler необходимо указать метод, обрабатывающий событие. Чтобы связать событие с обработчиком событий, нужно добавить в событие экземпляр делегата. Обработчик событий вызывается всякий раз, когда происходит событие, если делегат не удален. Дополнительные сведения о делегатах обработчика событий см. в разделе Обработка и вызов событий.
Методы расширения
GetMethodInfo(Delegate) |
Получает объект, представляющий метод, представленный указанным делегатом. |