DataRow.Delete Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 eine einfache DataTable mit zwei Spalten und zehn Zeilen erstellt. Nach dem Löschen mehrerer DataRow Elemente mit der Delete -Methode wird eine der Zeilen durch Aufrufen RejectChangesaufgehoben.
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 der Zeile hinzugefügt wird, wird Detached
die RowState und die Zeile wird aus der Tabelle entfernt, wenn Sie aufrufenAcceptChanges.
Deleted
WirdRowState, nachdem Sie die Delete -Methode für ein vorhandenes DataRowverwendet haben. Es bleibt, Deleted
bis Sie aufrufen AcceptChanges. Zu diesem Zeitpunkt wird der DataRow aus der Tabelle entfernt.
Delete sollte nicht in einer foreach-Schleife aufgerufen werden, während ein DataRowCollection Objekt durchlaufen wird. Delete ändert den Zustand der Auflistung.
Eine gelöschte Zeile kann durch Aufrufen RejectChangesvon rückgängig gemacht werden.
Hinweis
Die BeginEdit -Methode setzt Ereignisse vorübergehend an RowChanging , der Löschvorgang jedoch nicht.