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ı 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.

Şunlara uygulanır

Ayrıca bkz.