DataRow.Delete Methode

Definition

Löscht die DataRow.

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

Ausnahmen

Die DataRow wurde bereits gelöscht.

Beispiele

Im folgenden Beispiel wird ein einfaches DataTable Beispiel mit zwei Spalten und zehn Zeilen erstellt. Nach dem Löschen mehrerer DataRow Elemente mit der Delete Methode wird eine der Zeilen durch Aufrufen RejectChangesdeaktiviert.

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 die RowState Zeile hinzugefügt wird, wird die RowState Detached Zeile, und die Zeile wird aus der Tabelle entfernt, wenn Sie aufrufen AcceptChanges.

Dies RowState wird Deleted , nachdem Sie die Delete Methode für eine vorhandene DataRow. Es bleibt Deleted erhalten, bis Sie anrufen AcceptChanges. Zu diesem Zeitpunkt wird die DataRow Tabelle entfernt.

Delete sollte nicht in einer Foreachschleife aufgerufen werden, während sie durch ein DataRowCollection Objekt durchlaufen wird. Delete ändert den Status der Auflistung.

Eine gelöschte Zeile kann durch Aufrufen RejectChangesrückgängiggemacht werden.

Hinweis

Die BeginEdit Methode hält RowChanging vorübergehend Ereignisse an, der Löschvorgang wird jedoch nicht ausgeführt.

Gilt für:

Siehe auch