DataRow.Delete Метод

Определение

Удаляет объект DataRow.Deletes the DataRow.

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

Исключения

Объект DataRow уже был удален.The DataRow has already been deleted.

Примеры

В следующем примере создается простой DataTable с двумя столбцами и десятью строками.The following example creates a simple DataTable with two columns and ten rows. После удаления нескольких DataRow элементов Delete с помощью метода одна из строк не RejectChangesудаляется путем вызова.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

Комментарии

При добавлении Detached строки строка AcceptChangesстановится, а строка удаляется из таблицы при вызове метода. RowState RowStateIf the RowState of the row is Added, the RowState becomes Detached and the row is removed from the table when you call AcceptChanges.

После использования метода в существующемDataRow. RowState Deleted DeleteThe RowState becomes Deleted after you use the Delete method on an existing DataRow. Он остается Deleted до тех пор AcceptChanges, пока не будет вызван.It remains Deleted until you call AcceptChanges. В настоящее время объект DataRow удаляется из таблицы.At this time, the DataRow is removed from the table.

Deleteне следует вызывать в цикле foreach при переборе DataRowCollection объекта.Delete should not be called in a foreach loop while iterating through a DataRowCollection object. Deleteизменяет состояние коллекции.Delete modifies the state of the collection.

Удаленную строку можно отменить, вызвав RejectChanges.A deleted row can be undeleted by invoking RejectChanges.

Примечание

BeginEdit Метод временно RowChanging приостанавливает события, но не выполняет операцию удаления.The BeginEdit method temporarily suspends RowChanging events, but the delete operation does not.

Применяется к

Дополнительно