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ın belirlenmesi 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şlendiğini gösterir; başka bir deyişle, kullanıcı değişiklikleri yalnızca geçerli hücreye geri döndürebilir. 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 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, geçerli satırdaki QuestionEventArgs.Response herhangi bir hücre değiştirilmişse bu olay özelliğini true
olarak ayarlar. Bu, kullanıcı bir satıra düzenlemeyi geri döndürüyorsa olayın gerçekleşmesine neden olur CancelRowEdit . Kullanıcılar, hücre düzenleme modundayken veya düzenleme modunun dışındayken ESC tuşuna iki kez basarak düzenlemeyi 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.