DataRow.Delete 方法  
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
删除 DataRow。
public:
 void Delete();public void Delete ();member this.Delete : unit -> unitPublic Sub Delete ()例外
示例
以下示例创建包含两列和十行的简单 DataTable 。 使用 Delete 方法删除多个DataRow项后,通过调用 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
注解
              RowState如果行的 已添加,则在调用 AcceptChanges时,RowState将变为 Detached ,并且该行将从表中删除。
在现有 上使用 方法后Delete,变为 RowStateDeleted 。DataRow 它一直保留 Deleted ,直到调用 AcceptChanges。 此时, DataRow 将从表中删除 。
Delete 在循环访问 DataRowCollection 对象时,不应在 foreach 循环中调用。 Delete 修改集合的状态。
可以通过调用 RejectChanges来取消删除已删除的行。
注意
方法 BeginEdit 暂时挂起 RowChanging 事件,但删除操作不会。