Bagikan melalui


DataGridViewCellParsingEventHandler Delegasikan

Definisi

Mewakili metode yang akan menangani CellParsing peristiwa 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)

Parameter

sender
Object

Sumber dari peristiwa tersebut.

Contoh

Contoh kode berikut menunjukkan penggunaan DataGridViewCellParsingEventHandler untuk memeriksa validitas entri tanggal.

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

Keterangan

CellParsing Tangani peristiwa untuk menyediakan konversi nilai kustom dari nilai yang ditentukan pengguna ke nilai dalam jenis yang ditentukan oleh properti selValueType.

Saat menangani CellParsing peristiwa, Anda dapat mengonversi nilai sendiri atau Anda dapat menyesuaikan konversi default. Misalnya, Anda dapat mengonversi nilai sendiri menggunakan metode sel ParseFormattedValue dengan pengonversi jenis yang Anda pilih. Atau, Anda dapat membiarkan pengonversi jenis default mengurai nilai, tetapi memodifikasi properti , DataSourceNullValue, dan FormatProvider objek yang dikembalikan oleh DataGridViewCellParsingEventArgs.InheritedCellStyle properti , yang diinisialisasi menggunakan properti selInheritedStyle.NullValue

Saat Anda mengonversi nilai sendiri, ganti nilai awal yang diformat properti ConvertEventArgs.Value dengan nilai yang dikonversi dalam jenis yang ditentukan oleh properti sel ValueType . Untuk menunjukkan bahwa tidak ada penguraian lebih lanjut yang diperlukan, atur properti ke DataGridViewCellParsingEventArgs.ParsingAppliedtrue.

Ketika penanganan aktivitas selesai, jika Value adalah null atau bukan jenis yang benar, atau ParsingApplied properti adalah false, Value diurai menggunakan metode sel ParseFormattedValue dengan pengonversi tipe default. Implementasi default metode ini mengurai nilai menggunakan NullValueproperti , DataSourceNullValue, dan FormatProvider dari gaya sel yang diteruskan. Jika nilainya tidak sama dengan NullValue, nilai diurai menggunakan FormatProvider properti dan pengonversi jenis yang diteruskan.

Untuk mengkustomisasi konversi nilai sel menjadi nilai yang diformat untuk ditampilkan, tangani CellFormatting peristiwa.

Untuk informasi selengkapnya tentang cara menangani peristiwa, lihat Menangani dan Menaikkan Peristiwa.

Saat membuat DataGridViewCellParsingEventHandler delegasi, Anda mengidentifikasi metode yang akan menangani peristiwa. Untuk mengaitkan peristiwa dengan penanganan aktivitas Anda, tambahkan instans delegasi ke peristiwa. Penanganan aktivitas dipanggil setiap kali peristiwa terjadi, kecuali Anda menghapus delegasi. Untuk informasi selengkapnya tentang delegasi penanganan aktivitas, lihat Menangani dan Menaikkan Peristiwa.

Metode Ekstensi

GetMethodInfo(Delegate)

Mendapatkan objek yang mewakili metode yang diwakili oleh delegasi yang ditentukan.

Berlaku untuk

Lihat juga