Udostępnij za pośrednictwem


DataGridView.RowDirtyStateNeeded Zdarzenie

Definicja

Występuje, gdy VirtualMode właściwość kontrolki DataGridView jest true i DataGridView musi określić, czy bieżący wiersz ma niezatwierdzone zmiany.

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 

Typ zdarzenia

Przykłady

Poniższy przykład kodu pokazuje, jak obsłużyć to zdarzenie w celu zapewnienia zakresu zatwierdzania na poziomie komórki, co oznacza, że użytkownik może przywrócić zmiany tylko w bieżącej komórce. W zakresie zatwierdzania na poziomie komórki wiersz jest traktowany jako bez niezatwierdzonych zmian tylko wtedy, gdy bieżąca komórka ma niezatwierdzone zmiany, a nie wtedy, gdy każda komórka w wierszu ma niezatwierdzone zmiany. Ten przykład jest częścią większego przykładu dostępnego w przewodniku: implementowanie trybu wirtualnego w kontrolce DataGridView Windows Forms.

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

Uwagi

Domyślnie to zdarzenie ustawia QuestionEventArgs.Response właściwość na true wartość , jeśli jakiekolwiek komórki w bieżącym wierszu zostały zmodyfikowane. CancelRowEdit Powoduje to wystąpienie zdarzenia, gdy użytkownik powróci do edycji wiersza. Użytkownicy mogą przywrócić zmiany do wiersza, naciskając klawisz ESC dwa razy, gdy komórka jest w trybie edycji lub raz poza trybem edycji. To zdarzenie może służyć do dostosowywania zakresu zatwierdzania w trybie wirtualnym, ustawiając QuestionEventArgs.Response właściwość na prawidłową wartość w zależności od wybranego zakresu zatwierdzania.

Aby uzyskać więcej informacji na temat obsługi zdarzeń, zobacz Obsługa i podnoszenie zdarzeń.

Dotyczy

Zobacz też