DataGridView.CancelRowEdit Olay
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
bir DataGridView denetiminin VirtualMode özelliği true
ve kullanıcı bir satırdaki düzenlemeleri iptal ettiğinde gerçekleşir.
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
Olay Türü
Örnekler
Aşağıdaki kod örneği, sanal modda bir DataGridView denetimi için bu olayın nasıl işleneceğini göstermektedir. Denetim düzenleme modundayken, rowInEdit
değişkeni düzenlenen satırın dizinini ve customerInEdit
değişkeni de bu satıra karşılık gelen bir Customer nesnesine başvuruyu tutar. Kullanıcı düzenleme modunu iptal ettiğinde, bu nesne atılabilir. Ancak, kullanıcının düzenlediği satır yeni kayıtların satırıysa, kullanıcının düzenleme yapmaya yeniden başlayabilmesi için eski Customer nesnesi atılır ve yenisiyle değiştirilir. Bu örnek, İzlenecek Yol:Windows Forms DataGridView Denetiminde Sanal Mod Uygulama makalesinde sağlanan daha büyük bir örneğin parçasıdır.
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
Açıklamalar
DataGridView sanal modda olduğunda, değişiklikler varsayılan olarak hücre düzeyinde veri önbelleğine işlenir. CancelRowEdit olayı satır düzeyi işlemler uygulanırken kullanılabilir.
Olayları işleme hakkında daha fazla bilgi için bkz. olayları işleme ve oluşturma.
Şunlara uygulanır
Ayrıca bkz.
- DataGridView Denetimi (Windows Forms)