DataGridView.RowDirtyStateNeeded Událost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vyvolá se, VirtualMode když je vlastnost DataGridView ovládacího prvku true
a DataGridView je třeba určit, zda aktuální řádek obsahuje nepotvrzené změny.
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
Event Type
Příklady
Následující příklad kódu ukazuje, jak zpracovat tuto událost k poskytnutí oboru potvrzení na úrovni buňky, což znamená, že uživatel může vrátit změny pouze k aktuální buňce. V oboru potvrzení na úrovni buňky je řádek považován za nepotvrzené změny pouze v případě, že aktuální buňka obsahuje nepotvrzené změny, nikoli v případě, že jakákoli buňka na řádku obsahuje nepotvrzené změny. Tento příklad je součástí většího příkladu, který je k dispozici v návodu: Implementace virtuálního režimu v ovládacím prvku model Windows Forms DataGridView.
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
Poznámky
Ve výchozím nastavení tato událost nastaví QuestionEventArgs.Response vlastnost na hodnotu , true
pokud byly změněny některé buňky v aktuálním řádku. To způsobí, CancelRowEdit že k události dojde, když uživatel vrátí úpravy na řádek. Uživatelé můžou vrátit úpravy na řádek dvojím stisknutím klávesy ESC, když je buňka v režimu úprav nebo jednou mimo režim úprav. Tuto událost lze použít k přizpůsobení oboru potvrzení ve virtuálním režimu nastavením QuestionEventArgs.Response vlastnosti na správnou hodnotu v závislosti na zvoleném oboru potvrzení.
Další informace o zpracování událostí najdete v tématu Zpracování a vyvolávání událostí.