DataGridView.RowDirtyStateNeeded Kejadian
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.