DataGridViewCellParsingEventHandler Delegat
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt die Methode dar, die ein CellParsing-Ereignis einer DataGridView behandelt.
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)
Parameter
- sender
- Object
Die Quelle des Ereignisses.
Ein DataGridViewCellParsingEventArgs, das die Ereignisdaten enthält.
Beispiele
Im folgenden Codebeispiel wird die Verwendung DataGridViewCellParsingEventHandler von veranschaulicht, um die Gültigkeit von Datumseinträgen zu überprüfen.
// 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
Hinweise
Behandeln Sie das CellParsing Ereignis, um eine benutzerdefinierte Wertkonvertierung von einem benutzerdefinierten Wert in einen Wert im Typ bereitzustellen, der von der cell-Eigenschaft ValueType angegeben wird.
Wenn Sie das CellParsing Ereignis behandeln, können Sie den Wert selbst konvertieren oder die Standardkonvertierung anpassen. Beispielsweise können Sie den Wert selbst mithilfe der Zellmethode ParseFormattedValue mit Typkonvertern Ihrer Wahl konvertieren. Alternativ können Sie den Standardtypkonvertern erlauben, den Wert zu analysieren, aber die NullValueEigenschaften , DataSourceNullValueund FormatProvider des Objekts ändern, das von der DataGridViewCellParsingEventArgs.InheritedCellStyle -Eigenschaft zurückgegeben wird, die mit der cell-Eigenschaft InheritedStyle initialisiert wird.
Wenn Sie den Wert selbst konvertieren, ersetzen Sie den ursprünglichen formatierten Wert der ConvertEventArgs.Value Eigenschaft durch den konvertierten Wert in dem typ, der von der cell-Eigenschaft ValueType angegeben wird. Um anzugeben, dass keine weitere Analyse erforderlich ist, legen Sie die DataGridViewCellParsingEventArgs.ParsingApplied -Eigenschaft auf fest true
.
Wenn der Ereignishandler abgeschlossen ist, ist Value oder nicht vom richtigen Typ oder die ParsingApplied -Eigenschaft istfalse
, wird der Value mit der Cell-Methode ParseFormattedValue mit Standardtypkonvertern null
analysiert. Die Standardimplementierung dieser Methode analysiert den Wert mithilfe der NullValueEigenschaften , DataSourceNullValueund FormatProvider des übergebenen Zellstils. Wenn der Wert nicht gleich NullValueist, wird der Wert mithilfe der FormatProvider -Eigenschaft und der übergebenen Typkonverter analysiert.
Um die Konvertierung eines Zellenwerts in einen formatierten Wert für die Anzeige anzupassen, behandeln Sie das CellFormatting -Ereignis.
Weitere Informationen zum Behandeln von Ereignissen finden Sie unter behandeln und Auslösen von Ereignissen.
Beim Erstellen eines DataGridViewCellParsingEventHandler-Delegaten bestimmen Sie die Methode für die Ereignisbehandlung. Um dem Ereignishandler das Ereignis zuzuordnen, fügen Sie dem Ereignis eine Instanz des Delegaten hinzu. Der Ereignishandler wird bei jedem Eintreten des Ereignisses aufgerufen, sofern der Delegat nicht entfernt wird. Weitere Informationen zu Ereignishandlerdelegaten finden Sie unter Behandeln und Auslösen von Ereignissen.
Erweiterungsmethoden
GetMethodInfo(Delegate) |
Ruft ein Objekt ab, das die Methode darstellt, die vom angegebenen Delegaten dargestellt wird. |