Aracılığıyla paylaş


DataGridView.RowDirtyStateNeeded Olay

Tanım

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.

Şunlara uygulanır

Ayrıca bkz.