Share via


DataGridView.RowDirtyStateNeeded Kejadian

Definisi

Terjadi ketika VirtualMode properti DataGridView kontrol adalah true dan DataGridView perlu menentukan apakah baris saat ini telah tidak diterapkan berubah.

public:
 event System::Windows::Forms::QuestionEventHandler ^ RowDirtyStateNeeded;
public event System.Windows.Forms.QuestionEventHandler RowDirtyStateNeeded;
public event System.Windows.Forms.QuestionEventHandler? RowDirtyStateNeeded;
member this.RowDirtyStateNeeded : System.Windows.Forms.QuestionEventHandler 
Public Custom Event RowDirtyStateNeeded As QuestionEventHandler 

Jenis Acara

Contoh

Contoh kode berikut menunjukkan cara menangani peristiwa ini untuk menyediakan cakupan penerapan tingkat sel, yang berarti bahwa pengguna hanya dapat mengembalikan perubahan ke sel saat ini. Dalam lingkup penerapan tingkat sel, baris diperlakukan sebagai memiliki perubahan yang tidak dikomit hanya ketika sel saat ini telah tidak dikomit berubah, bukan ketika sel apa pun dalam baris memiliki perubahan yang tidak dikomit. Contoh ini adalah bagian dari contoh yang lebih besar yang tersedia di Panduan: Menerapkan Mode Virtual di kontrol Formulir Windows DataGridView.

void dataGridView1_RowDirtyStateNeeded( Object^ /*sender*/,
    System::Windows::Forms::QuestionEventArgs^ e )
{
   if (  !rowScopeCommit )
   {
      
      // In cell-level commit scope, indicate whether the value
      // of the current cell has been modified.
      e->Response = this->dataGridView1->IsCurrentCellDirty;
   }
}
private void dataGridView1_RowDirtyStateNeeded(object sender,
    System.Windows.Forms.QuestionEventArgs e)
{
    if (!rowScopeCommit)
    {
        // In cell-level commit scope, indicate whether the value
        // of the current cell has been modified.
        e.Response = this.dataGridView1.IsCurrentCellDirty;
    }
}
Private Sub dataGridView1_RowDirtyStateNeeded(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.QuestionEventArgs) _
    Handles dataGridView1.RowDirtyStateNeeded

    If Not rowScopeCommit Then

        ' In cell-level commit scope, indicate whether the value
        ' of the current cell has been modified.
        e.Response = Me.dataGridView1.IsCurrentCellDirty

    End If

End Sub

Keterangan

Secara default, kejadian ini mengatur properti ke QuestionEventArgs.Responsetrue jika ada sel dalam baris saat ini yang telah dimodifikasi. Hal ini menyebabkan CancelRowEdit peristiwa terjadi saat pengguna mengembalikan pengeditan ke baris. Pengguna dapat mengembalikan pengeditan ke baris dengan menekan ESC dua kali saat sel berada dalam mode edit atau sekali di luar mode edit. Kejadian ini dapat digunakan untuk menyesuaikan cakupan penerapan dalam mode virtual dengan mengatur QuestionEventArgs.Response properti ke nilai yang benar tergantung pada cakupan penerapan yang dipilih.

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

Berlaku untuk

Lihat juga