DataGridViewCellParsingEventHandler Delegát

Definice

Představuje metodu, která zpracuje CellParsing událost 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)

Parametry

sender
Object

Zdroj událostiThe source of the event.

e
DataGridViewCellParsingEventArgs

Obsahující DataGridViewCellParsingEventArgs data události.A DataGridViewCellParsingEventArgs that contains the event data.

Příklady

Následující příklad kódu ukazuje použití DataGridViewCellParsingEventHandler ke kontrole platnosti položek data.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

Poznámky

Zpracujte CellParsing událost, aby poskytovala vlastní převod hodnoty z uživatelsky definované hodnoty na hodnotu v typu určeném ValueType vlastností Cells.Handle 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.

Při zpracování CellParsing události můžete hodnotu převést sami nebo můžete přizpůsobit výchozí převod.When you handle the CellParsing event, you can convert the value yourself or you can customize the default conversion. Hodnotu můžete například převést sami pomocí ParseFormattedValue metody buňky s převaděči typů, které zvolíte.For example, you can convert the value yourself using the cell ParseFormattedValue method with type converters of your choosing. Alternativně můžete nechat výchozí převaděče typu, které mají hodnotu analyzovat, ale upravit NullValue DataSourceNullValue vlastnosti, a FormatProvider objektu vráceného DataGridViewCellParsingEventArgs.InheritedCellStyle vlastností, která je inicializována pomocí InheritedStyle vlastnosti buňka.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.

Když převedete hodnotu sami, nahraďte počáteční formátovanou hodnotu ConvertEventArgs.Value vlastnosti převedenou hodnotou v typu určeném ValueType vlastností buňka.When 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. Chcete-li určit, že není nutné provádět žádnou další analýzu, nastavte DataGridViewCellParsingEventArgs.ParsingApplied vlastnost na hodnotu true .To indicate that no further parsing is necessary, set the DataGridViewCellParsingEventArgs.ParsingApplied property to true.

Pokud je obslužná rutina události dokončena, pokud Value je null nebo není správného typu nebo je ParsingApplied vlastnost, je false Value analyzována pomocí ParseFormattedValue metody buňky s výchozími převaděči typů.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. Výchozí implementace této metody analyzuje hodnotu pomocí NullValue DataSourceNullValue FormatProvider předaného typu, a vlastností stylu buňky.The default implementation of this method parses the value using the NullValue, DataSourceNullValue, and FormatProvider properties of the cell style passed in. Pokud hodnota není rovna NullValue , hodnota se analyzuje pomocí FormatProvider vlastnosti a předané převaděče typu.If the value is not equal to NullValue, the value is parsed using the FormatProvider property and the type converters passed in.

Chcete-li přizpůsobit převod hodnoty buňky na formátovanou hodnotu pro zobrazení, zpracujte CellFormatting událost.To customize the conversion of a cell value into a formatted value for display, handle the CellFormatting event.

Další informace o zpracování událostí naleznete v tématu manipulace a vyvolávání událostí.For more information about how to handle events, see Handling and Raising Events.

Při vytváření DataGridViewCellParsingEventHandler delegáta identifikujete metodu, která událost zpracuje.When you create a DataGridViewCellParsingEventHandler delegate, you identify the method that will handle the event. Chcete-li přidružit událost k obslužné rutině události, přidejte do události instanci delegáta.To associate the event with your event handler, add an instance of the delegate to the event. Obslužná rutina události je volána při každém výskytu události, dokud neodeberete delegáta.The event handler is called whenever the event occurs, unless you remove the delegate. Další informace o delegátech obslužných rutin událostí naleznete v tématu manipulace a vyvolávání událostí.For more information about event-handler delegates, see Handling and Raising Events.

Metody rozšíření

GetMethodInfo(Delegate)

Získává objekt, který představuje metodu reprezentovanou zadaným delegátem.Gets an object that represents the method represented by the specified delegate.

Platí pro

Viz také