DataRow.Delete Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Odstraní .DataRow
public:
void Delete();
public void Delete();
member this.Delete : unit -> unit
Public Sub Delete ()
Výjimky
Již DataRow byla odstraněna.
Příklady
Následující příklad vytvoří jednoduchý DataTable se dvěma sloupci a deseti řádky. Po odstranění několika DataRow položek pomocí Delete metody je jeden z řádků neschválený vyvoláním 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
Poznámky
RowState Pokud je Addedřádek , RowState stane se Detached a řádek se okamžitě odebere z tabulky.
Stane RowState se Deleted poté, co použijete metodu Delete u existujícího DataRow.
Deleted Zůstane, dokud nevoláte AcceptChanges. V tuto chvíli se odebere DataRow z tabulky.
Delete při iterování objektem DataRowCollection by se nemělo volat ve smyčce foreach. Delete upraví stav kolekce.
Odstraněný řádek lze zrušit vyvoláním RejectChanges.
Poznámka:
Metoda BeginEdit dočasně pozastaví RowChanging události, ale operace odstranění ne.