DataGridView.CancelRowEdit 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 een DataGridView besturingselement is true en de gebruiker bewerkingen in een rij annuleert.
public:
event System::Windows::Forms::QuestionEventHandler ^ CancelRowEdit;
public event System.Windows.Forms.QuestionEventHandler CancelRowEdit;
public event System.Windows.Forms.QuestionEventHandler? CancelRowEdit;
member this.CancelRowEdit : System.Windows.Forms.QuestionEventHandler
Public Custom Event CancelRowEdit As QuestionEventHandler
Gebeurtenistype
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u deze gebeurtenis kunt afhandelen voor een DataGridView besturingselement in de virtuele modus. Wanneer het besturingselement zich in de bewerkingsmodus bevindt, bevat de rowInEdit variabele de index van de rij die wordt bewerkt en bevat de customerInEdit variabele een verwijzing naar een klantobject dat overeenkomt met die rij. Wanneer de gebruiker de bewerkingsmodus annuleert, kan dit object worden verwijderd. Als de rij die de gebruiker bewerkt de rij voor nieuwe records is, wordt het oude klantobject echter verwijderd en vervangen door een nieuwe, zodat de gebruiker opnieuw wijzigingen kan aanbrengen. 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_CancelRowEdit( Object^ /*sender*/,
System::Windows::Forms::QuestionEventArgs^ /*e*/ )
{
if ( this->rowInEdit == this->dataGridView1->Rows->Count - 2 &&
this->rowInEdit == this->customers->Count )
{
// If the user has canceled the edit of a newly created row,
// replace the corresponding Customer object with a new, empty one.
this->customerInEdit = gcnew Customer;
}
else
{
// If the user has canceled the edit of an existing row,
// release the corresponding Customer object.
this->customerInEdit = nullptr;
this->rowInEdit = -1;
}
}
private void dataGridView1_CancelRowEdit(object sender,
System.Windows.Forms.QuestionEventArgs e)
{
if (this.rowInEdit == this.dataGridView1.Rows.Count - 2 &&
this.rowInEdit == this.customers.Count)
{
// If the user has canceled the edit of a newly created row,
// replace the corresponding Customer object with a new, empty one.
this.customerInEdit = new Customer();
}
else
{
// If the user has canceled the edit of an existing row,
// release the corresponding Customer object.
this.customerInEdit = null;
this.rowInEdit = -1;
}
}
Private Sub dataGridView1_CancelRowEdit(ByVal sender As Object, _
ByVal e As System.Windows.Forms.QuestionEventArgs) _
Handles dataGridView1.CancelRowEdit
If Me.rowInEdit = Me.dataGridView1.Rows.Count - 2 AndAlso _
Me.rowInEdit = Me.customers.Count Then
' If the user has canceled the edit of a newly created row,
' replace the corresponding Customer object with a new, empty one.
Me.customerInEdit = New Customer()
Else
' If the user has canceled the edit of an existing row,
' release the corresponding Customer object.
Me.customerInEdit = Nothing
Me.rowInEdit = -1
End If
End Sub
Opmerkingen
Wanneer de DataGridView virtuele modus actief is, worden wijzigingen standaard doorgevoerd in de gegevenscache op celniveau. De CancelRowEdit gebeurtenis kan worden gebruikt bij het implementeren van transacties op rijniveau.
Zie Gebeurtenissen verwerken en genereren voor meer informatie over het afhandelen van gebeurtenissen.