DataGridView.CancelRowEdit 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 properti VirtualMode kontrol DataGridViewtrue
dan pengguna membatalkan pengeditan berturut-turut.
public:
event System::Windows::Forms::QuestionEventHandler ^ CancelRowEdit;
public event System.Windows.Forms.QuestionEventHandler CancelRowEdit;
public event System.Windows.Forms.QuestionEventHandler? CancelRowEdit;
member this.CancelRowEdit : System.Windows.Forms.QuestionEventHandler
Public Custom Event CancelRowEdit As QuestionEventHandler
Jenis Acara
Contoh
Contoh kode berikut menggambarkan cara menangani peristiwa ini untuk kontrol DataGridView dalam mode virtual. Saat kontrol dalam mode edit, variabel rowInEdit
menyimpan indeks baris yang sedang diedit, dan variabel customerInEdit
menyimpan referensi ke objek Pelanggan yang sesuai dengan baris tersebut. Ketika pengguna membatalkan mode edit, objek ini dapat dibuang. Namun, jika baris yang diedit pengguna adalah baris untuk rekaman baru, namun, objek Pelanggan lama dibuang dan diganti dengan yang baru sehingga pengguna dapat mulai melakukan pengeditan lagi. Contoh ini adalah bagian dari contoh yang lebih besar yang tersedia di Walkthrough: Menerapkan Mode Virtual di Windows Forms DataGridView Control.
void dataGridView1_CancelRowEdit( Object^ /*sender*/,
System::Windows::Forms::QuestionEventArgs^ /*e*/ )
{
if ( this->rowInEdit == this->dataGridView1->Rows->Count - 2 &&
this->rowInEdit == this->customers->Count )
{
// If the user has canceled the edit of a newly created row,
// replace the corresponding Customer object with a new, empty one.
this->customerInEdit = gcnew Customer;
}
else
{
// If the user has canceled the edit of an existing row,
// release the corresponding Customer object.
this->customerInEdit = nullptr;
this->rowInEdit = -1;
}
}
private void dataGridView1_CancelRowEdit(object sender,
System.Windows.Forms.QuestionEventArgs e)
{
if (this.rowInEdit == this.dataGridView1.Rows.Count - 2 &&
this.rowInEdit == this.customers.Count)
{
// If the user has canceled the edit of a newly created row,
// replace the corresponding Customer object with a new, empty one.
this.customerInEdit = new Customer();
}
else
{
// If the user has canceled the edit of an existing row,
// release the corresponding Customer object.
this.customerInEdit = null;
this.rowInEdit = -1;
}
}
Private Sub dataGridView1_CancelRowEdit(ByVal sender As Object, _
ByVal e As System.Windows.Forms.QuestionEventArgs) _
Handles dataGridView1.CancelRowEdit
If Me.rowInEdit = Me.dataGridView1.Rows.Count - 2 AndAlso _
Me.rowInEdit = Me.customers.Count Then
' If the user has canceled the edit of a newly created row,
' replace the corresponding Customer object with a new, empty one.
Me.customerInEdit = New Customer()
Else
' If the user has canceled the edit of an existing row,
' release the corresponding Customer object.
Me.customerInEdit = Nothing
Me.rowInEdit = -1
End If
End Sub
Keterangan
Saat DataGridView dalam mode virtual, perubahan diterapkan pada cache data di tingkat sel secara default. Peristiwa CancelRowEdit dapat digunakan saat menerapkan transaksi tingkat baris.
Untuk informasi selengkapnya tentang cara menangani peristiwa, lihat Menangani dan Meningkatkan Peristiwa.
Berlaku untuk
Lihat juga
-
DataGridView Control (Windows Forms)