DataGridView.CancelRowEdit Gebeurtenis

Definitie

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.

Van toepassing op

Zie ook