Teilen über


DataGridViewCellParsingEventHandler Delegat

Definition

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.

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.

Gilt für:

Weitere Informationen