DataGridView.RowDirtyStateNeeded Zdarzenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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ń.