您的位置:首页 > 编程语言 > C#

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

2016-06-07 19:35 661 查看
有三种方法可以删除 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);

在使用 for 循环删除 DataTable 中行的时候,每删除一行,DataTable中所有行的索引都会发生改变。所以,需要逆序删除,并且每删除完一行,要跟着判断第一行是否满足删除条件。

如下代码所示:

for (int i = dgv_datalist.Rows.Count - 1; i >= 0; i--)
{
//删除 i 行
dgv_datalist.Rows.RemoveAt(i);
//更新窗体dgv_datalist
dgv_datalist.Commit();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: