DataGridView.RowDirtyStateNeeded Ereignis
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.