DataGridViewCellParsingEventHandler Delegera
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Representerar den metod som ska hantera en CellParsing händelse av en 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)
Parametrar
- sender
- Object
Källan till händelsen.
En DataGridViewCellParsingEventArgs som innehåller händelsedata.
Exempel
Följande kodexempel visar hur du använder DataGridViewCellParsingEventHandler för att kontrollera giltigheten för datumposter.
// 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
Kommentarer
CellParsing Hantera händelsen för att tillhandahålla anpassad värdekonvertering från ett användardefinierad värde till ett värde i den typ som anges av cellegenskapenValueType.
När du hanterar händelsen CellParsing kan du konvertera värdet själv eller anpassa standardkonverteringen. Du kan till exempel konvertera värdet själv med cellmetoden ParseFormattedValue med valfria typkonverterare. Du kan också låta standardtypkonverterarna parsa värdet, men ändra egenskaperna , NullValueoch för DataSourceNullValue objektet som returneras av FormatProvider egenskapen, som initieras med cellegenskapenDataGridViewCellParsingEventArgs.InheritedCellStyle.InheritedStyle
När du konverterar värdet själv ersätter du det inledande, formaterade värdet för ConvertEventArgs.Value egenskapen med det konverterade värdet i den typ som anges av cellegenskapen ValueType . Om du vill ange att ingen ytterligare parsning krävs anger du egenskapen DataGridViewCellParsingEventArgs.ParsingApplied till true.
När händelsehanteraren är klar, om Value är null eller inte är av rätt typ, eller ParsingApplied om egenskapen är false, Value parsas med cellmetoden ParseFormattedValue med standardtypkonverterare. Standardimplementeringen av den här metoden parsar värdet med egenskaperna NullValue, DataSourceNullValueoch för FormatProvider cellformatet som skickades in. Om värdet inte är lika med NullValueparsas värdet med egenskapen FormatProvider och typkonverterarna skickas in.
Om du vill anpassa konverteringen av ett cellvärde till ett formaterat värde för visning hanterar du CellFormatting händelsen.
Mer information om hur du hanterar händelser finns i Hantera och höja händelser.
När du skapar ett DataGridViewCellParsingEventHandler ombud identifierar du den metod som ska hantera händelsen. Om du vill associera händelsen med händelsehanteraren lägger du till en instans av ombudet till händelsen. Händelsehanteraren anropas när händelsen inträffar, såvida du inte tar bort ombudet. Mer information om ombud för händelsehanterare finns i Hantera och höja händelser.
Tilläggsmetoder
| Name | Description |
|---|---|
| GetMethodInfo(Delegate) |
Hämtar ett objekt som representerar den metod som representeras av det angivna ombudet. |