zoukankan      html  css  js  c++  java
  • 在c#中 RemoveAt、 Remove、delete用法区别

    有三种方法可以删除 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();
         }    
    

     

  • 相关阅读:
    mktemp -t -d用法
    使用getopts处理输入参数
    linux中$1的意思
    linux中的set -e 与set -o pipefail
    在windows 7 和linux上安装xlwt和xlrd
    nginx map使用方法
    Linux crontab下关于使用date命令和sudo命令的坑
    东哥讲义
    ldapsearch使用
    date 命令之日期和秒数转换
  • 原文地址:https://www.cnblogs.com/duzhuo/p/5568137.html
Copyright © 2011-2022 走看看