DataGridViewCellParsingEventHandler Delegato

Definizione

Rappresenta il metodo che gestirà l'evento CellParsing di un oggetto 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)

Parametri

sender
Object

Origine dell'evento.

e
DataGridViewCellParsingEventArgs

Oggetto DataGridViewCellParsingEventArgs che contiene i dati dell'evento.

Esempio

Nell'esempio di codice seguente viene illustrato l'uso DataGridViewCellParsingEventHandler di per controllare la validità delle voci di data.

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

Commenti

Gestire l'evento CellParsing per fornire la conversione di valori personalizzati da un valore specificato dall'utente a un valore nel tipo specificato dalla proprietà della cella ValueType .

Quando si gestisce l'evento CellParsing , è possibile convertire manualmente il valore oppure personalizzare la conversione predefinita. Ad esempio, è possibile convertire manualmente il valore usando il metodo cell ParseFormattedValue con convertitori di tipi di propria scelta. In alternativa, è possibile consentire ai convertitori di tipi predefiniti di analizzare il valore, ma modificare le NullValueproprietà , DataSourceNullValuee FormatProvider dell'oggetto restituito dalla DataGridViewCellParsingEventArgs.InheritedCellStyle proprietà , inizializzata usando la proprietà cell InheritedStyle .

Quando si converte manualmente il valore, sostituire il valore iniziale formattato della ConvertEventArgs.Value proprietà con il valore convertito nel tipo specificato dalla proprietà cell ValueType . Per indicare che non è necessaria ulteriore analisi, impostare la DataGridViewCellParsingEventArgs.ParsingApplied proprietà su true.

Al termine del gestore eventi, se Value è null o non è del tipo corretto oppure la ParsingApplied proprietà è false, l'oggetto Value viene analizzato usando il metodo cella ParseFormattedValue con convertitori di tipi predefiniti. L'implementazione predefinita di questo metodo analizza il valore usando le NullValueproprietà , DataSourceNullValuee FormatProvider dello stile di cella passato. Se il valore non è uguale a NullValue, il valore viene analizzato usando la FormatProvider proprietà e i convertitori di tipi passati.

Per personalizzare la conversione di un valore di cella in un valore formattato per la visualizzazione, gestire l'evento CellFormatting .

Per altre informazioni su come gestire gli eventi, vedere la gestione e generazione di eventi.

Quando si crea un delegato DataGridViewCellParsingEventHandler, si identifica il metodo che gestirà l'evento. Per associare l'evento al gestore eventi in uso, aggiungere all'evento un'istanza del delegato. Il gestore eventi viene chiamato ogni volta che si verifica l'evento, a meno che non venga rimosso il delegato. Per altre informazioni sui delegati del gestore eventi, vedere Gestione e generazione di eventi.

Metodi di estensione

GetMethodInfo(Delegate)

Ottiene un oggetto che rappresenta il metodo rappresentato dal delegato specificato.

Si applica a

Vedi anche