码迷,mamicode.com
首页 > Windows程序 > 详细

在c#中 RemoveAt、 Remove、delete用法区别

时间:2016-11-18 12:21:00      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:ring   count   需要   datarow   取消   remove   datatable   区别   回滚   

有三种方法可以删除 DataTable 中的 DataRow:
Delete 方法和 Remove 方法和 RemoveAt 方法

其区别是:

Delete 方法实际上不是从 DataTable 中删除掉一行,而是将其标志为删除,仅仅是做个记号,
Remove 方法则是真正的从 DataRow 中删除一行,
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--,例如:

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);
}

在c#中 RemoveAt、 Remove、delete用法区别

标签:ring   count   需要   datarow   取消   remove   datatable   区别   回滚   

原文地址:http://www.cnblogs.com/zmdblogs/p/6076832.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!