DataRow.Delete DataRow.Delete DataRow.Delete DataRow.Delete Method

Definition

Löscht die DataRow.Deletes the DataRow.

public:
 void Delete();
public void Delete ();
member this.Delete : unit -> unit
Public Sub Delete ()

Ausnahmen

Beispiele

Im folgenden Beispiel wird eine einfache DataTable mit zwei Spalten und zehn Zeilen erstellt.The following example creates a simple DataTable with two columns and ten rows. Nachdem Sie mehrere DataRow Elemente mit der Delete -Methode gelöscht haben, wird eine der Zeilen durch Aufrufen RejectChangesvon wieder hergestellt.After deleting several DataRow items with the Delete method, one of the rows is undeleted by invoking RejectChanges.

private void DemonstrateDeleteRow()
{
    // Create a simple DataTable with two columns and ten rows.
    DataTable table = new DataTable("table");
    DataColumn idColumn = new DataColumn("id",
        Type.GetType("System.Int32"));
    idColumn.AutoIncrement=true;
    DataColumn itemColumn = new DataColumn("item", 
        Type.GetType("System.String"));
    table.Columns.Add(idColumn);
    table.Columns.Add(itemColumn);

    // Add ten rows.
    DataRow newRow;
     
    for(int i = 0; i <10; i++)
    {
        newRow = table.NewRow();
        newRow["item"] = "Item " + i;
        table.Rows.Add(newRow);
    }
    table.AcceptChanges();

    DataRowCollection itemColumns = table.Rows;
    itemColumns[0].Delete();
    itemColumns[2].Delete();
    itemColumns[3].Delete();
    itemColumns[5].Delete();
    Console.WriteLine(itemColumns[3].RowState.ToString());

    // Reject changes on one deletion.
    itemColumns[3].RejectChanges();

    // Change the value of the column so it stands out.
    itemColumns[3]["item"] = "Deleted, Undeleted, Edited";

    // Accept changes on others.
    table.AcceptChanges();

    // Print the remaining row values.
    foreach(DataRow row in table.Rows)
    {
        Console.WriteLine(row[0] + "\table" + row[1]);
    }
}
 Private Sub DemonstrateDeleteRow()
     ' Create a simple DataTable with two columns and ten rows.
     Dim table As New DataTable("table")
     Dim idColumn As New DataColumn("id", Type.GetType("System.Int32"))
     idColumn.AutoIncrement = True
     Dim itemColumn As New DataColumn("item", Type.GetType("System.String"))
     table.Columns.Add(idColumn)
     table.Columns.Add(itemColumn)

     ' Add ten rows.
     Dim newRow As DataRow
     
     Dim i As Integer
     For i = 0 To 9
         newRow = table.NewRow()
         newRow("item") = "Item " & i.ToString()
         table.Rows.Add(newRow)
     Next i
     table.AcceptChanges()

     Dim itemColumns As DataRowCollection = table.Rows
     itemColumns(0).Delete()
     itemColumns(2).Delete()
     itemColumns(3).Delete()
     itemColumns(5).Delete()
     Console.WriteLine(itemColumns(3).RowState.ToString())

     ' Reject changes on one deletion.
     itemColumns(3).RejectChanges()

     ' Change the value of the column so it stands out.
     itemColumns(3)("item") = "Deleted, Undeleted, Edited"

     ' Accept changes on others.
     table.AcceptChanges()

     ' Print the remaining row values.
     Dim row As DataRow
     For Each row In  table.Rows
         Console.WriteLine(row(0).ToString() & ControlChars.Tab _
            & row(1).ToString())
     Next row
End Sub

Hinweise

Wenn der RowState der Zeile hinzugefügt wird, wird RowState Detached die Zeile, und die Zeile wird aus der Tabelle entfernt, AcceptChangeswenn aufgerufen wird.If the RowState of the row is Added, the RowState becomes Detached and the row is removed from the table when you call AcceptChanges.

Der RowState Delete DataRowwird Deleted verwendet, nachdem Sie die-Methode für eine vorhandene verwendet haben.The RowState becomes Deleted after you use the Delete method on an existing DataRow. Es bleibt Deleted , bis Sie AcceptChangesaufzurufen.It remains Deleted until you call AcceptChanges. Zu diesem Zeitpunkt wird der DataRow aus der Tabelle entfernt.At this time, the DataRow is removed from the table.

Deletesollte nicht in einer foreach-Schleife aufgerufen werden, während ein DataRowCollection -Objekt durchlaufen wird.Delete should not be called in a foreach loop while iterating through a DataRowCollection object. Deleteändert den Zustand der Auflistung.Delete modifies the state of the collection.

Eine gelöschte Zeile kann wieder hergestellt werden, RejectChangesindem aufgerufen wird.A deleted row can be undeleted by invoking RejectChanges.

Hinweis

Die BeginEdit -Methode hält RowChanging Ereignisse vorübergehend an, der Löschvorgang jedoch nicht.The BeginEdit method temporarily suspends RowChanging events, but the delete operation does not.

Gilt für:

Siehe auch