Freigeben über


DataGridView.RowDirtyStateNeeded Ereignis

Definition

Tritt ein, wenn die VirtualMode-Eigenschaft des DataGridView-Steuerelements true ist und die DataGridView bestimmen muss, ob die aktive Zeile über ausgecheckte Änderungen verfügt.

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 

Ereignistyp

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie dieses Ereignis behandelt wird, um einen Commitbereich auf Zellenebene bereitzustellen, was bedeutet, dass der Benutzer Änderungen nur an der aktuellen Zelle rückgängig machen kann. Im Commitbereich auf Zellebene wird die Zeile nur dann als nicht commissionierte Änderungen behandelt, wenn die aktuelle Zelle nicht zugelassene Änderungen aufweist, und nicht, wenn eine Zelle in der Zeile nicht festgelegte Änderungen aufweist. Dieses Beispiel ist Teil eines größeren Beispiels, das unter Exemplarische Vorgehensweise: Implementieren des virtuellen Modus im Windows Forms DataGridView-Steuerelements verfügbar ist.

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

Hinweise

Standardmäßig legt dieses Ereignis die QuestionEventArgs.Response -Eigenschaft auf fest true , wenn Zellen in der aktuellen Zeile geändert wurden. Dadurch tritt das CancelRowEdit Ereignis auf, wenn der Benutzer Änderungen an einer Zeile zurückgibt. Benutzer können Änderungen an einer Zeile rückgängig machen, indem sie zweimal ESC drücken, wenn sich eine Zelle im Bearbeitungsmodus befindet oder einmal außerhalb des Bearbeitungsmodus. Dieses Ereignis kann zum Anpassen des Commitbereichs im virtuellen Modus verwendet werden, indem die QuestionEventArgs.Response Eigenschaft abhängig vom ausgewählten Commitbereich auf den richtigen Wert festgelegt wird.

Weitere Informationen zum Behandeln von Ereignissen finden Sie unter behandeln und Auslösen von Ereignissen.

Gilt für:

Weitere Informationen