Sdílet prostřednictvím


DataRow.Delete Metoda

Definice

Odstraní .DataRow

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

Výjimky

Položka DataRow již byla odstraněna.

Příklady

Následující příklad vytvoří jednoduchý DataTable objekt se dvěma sloupci a deseti řádky. Po odstranění několika DataRow položek pomocí Delete metody se jeden z řádků zruší vyvoláním RejectChangespříkazu .

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 hodnota řádku Přidáno, RowState stane se Detached řádek a řádek se při volání AcceptChangesodebere z tabulky.

Objekt se RowState stane Deleted po použití metody u Delete existujícího DataRowobjektu . Zůstane, Deleted dokud nevoláte AcceptChanges. V tomto okamžiku DataRow se z tabulky odebere .

Delete při iteraci objektem by neměla být volána ve smyčce DataRowCollection 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.

Platí pro

Viz také