DataGridView.RowDirtyStateNeeded Gebeurtenis
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Treedt op wanneer de VirtualMode eigenschap van het DataGridView besturingselement is true en de DataGridView behoeften om te bepalen of de huidige rij niet-doorgevoerde wijzigingen heeft.
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
Gebeurtenistype
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u deze gebeurtenis kunt afhandelen om een doorvoerbereik op celniveau te bieden, wat betekent dat de gebruiker alleen wijzigingen in de huidige cel kan terugzetten. In het doorvoerbereik op celniveau wordt de rij alleen behandeld als niet-doorgevoerde wijzigingen wanneer de huidige cel niet-doorgevoerde wijzigingen heeft, in plaats van wanneer een cel in de rij niet-doorgevoerde wijzigingen heeft. Dit voorbeeld maakt deel uit van een groter voorbeeld dat beschikbaar is in Walkthrough: Virtuele modus implementeren in het Windows Forms DataGridView-besturingselement.
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
Opmerkingen
Met deze gebeurtenis wordt de QuestionEventArgs.Response eigenschap true standaard ingesteld op als er cellen in de huidige rij zijn gewijzigd. Dit zorgt ervoor dat de CancelRowEdit gebeurtenis optreedt wanneer de gebruiker bewerkingen naar een rij terugdraait. Gebruikers kunnen bewerkingen terugzetten naar een rij door tweemaal op Esc te drukken wanneer een cel zich in de bewerkingsmodus of eenmaal buiten de bewerkingsmodus bevindt. Deze gebeurtenis kan worden gebruikt voor het aanpassen van doorvoerbereik in de virtuele modus door de QuestionEventArgs.Response eigenschap in te stellen op de juiste waarde, afhankelijk van het gekozen doorvoerbereik.
Zie Gebeurtenissen verwerken en genereren voor meer informatie over het afhandelen van gebeurtenissen.