有三种方法可以删除 DataTable 中的 DataRow:
Delete 方法和 Remove 方法和 RemoveAt 方法
其区别是:
Delete 的使用是 : Datatable.Rows[i].Delete();
注意: Delete() 之后需要 datatable.AccepteChanges() 方法确认完全删除,因为 Delete() 只是将其标志为删除,可以用 datatable.RejectChanges() 回滚,使该行取消删除。
Remove 的使用是: Datatable.Rows.Remove(datatable.Rows[i]);
RemoveAt 的使用是: DataTable.Rows.RemoveAt(index);
如果用 RemoveAt 方法删除的时候,如果是循环要注意要从后往前删,也就是 i--,例如:
class="brush:csharp;gutter:true;">for (int i = 0; i < dgv_datalist.Rows.Count; i--) { //删除 “运单编号”==item.运单编号 的行 dgv_datalist.Rows[i].Cells["运单编号"].Value.ToString().Equals(item.运单编号); dgv_datalist.Rows.RemoveAt(i); }