DataGridView.RowDirtyStateNeeded 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.
Denetimin VirtualModeDataGridView özelliği olduğunda true ve geçerli satırda DataGridView kaydedilmemiş değişiklikler olup olmadığını belirlemesi gerektiğinde gerçekleşir.
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
Olay Türü
Örnekler
Aşağıdaki kod örneği, hücre düzeyinde işleme kapsamı sağlamak için bu olayın nasıl işleneceğini gösterir; bu da kullanıcının yalnızca geçerli hücredeki değişiklikleri geri döndürebileceği anlamına gelir. Hücre düzeyi işleme kapsamında, satırdaki herhangi bir hücrede kaydedilmemiş değişiklikler olması yerine, yalnızca geçerli hücrede kaydedilmemiş değişiklikler olduğunda, satırın kaydedilmemiş değişikliklere sahip olduğu kabul edilir. Bu örnek, İzlenecek Yol: Windows Forms DataGridView Denetiminde Sanal Mod Uygulama başlığı altında sağlanan daha büyük bir örneğin bir parçasıdır.
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
Açıklamalar
Varsayılan olarak, bu olay geçerli satırdaki herhangi bir hücre değiştirilmişse özelliğini true olarak ayarlarQuestionEventArgs.Response. Bu, kullanıcı bir satıra düzenlemeyi geri döndürdiğinde olayın oluşmasına neden olur CancelRowEdit . Kullanıcılar, hücre düzenleme modundayken veya düzenleme modunun dışındayken ESC tuşuna iki kez basarak düzenlemeleri bir satıra geri döndürebilir. Bu olay, özelliği seçilen işleme kapsamına bağlı olarak doğru değere ayarlayarak QuestionEventArgs.Response işleme kapsamını sanal modda özelleştirmek için kullanılabilir.
Olayları işleme hakkında daha fazla bilgi için bkz. Olayları İşleme ve Oluşturma.