zoukankan      html  css  js  c++  java
  • datatable相关用法

       一、datatable自己构建以及构造数据,先创建列,然后创建行,并写入数据

      DataTable dt = new DataTable();               

      dt.Columns.Add("UserId");               

      dt.Columns.Add("UserName");

      for (int i = 0; i < 10; i++) {                  

           var row = dt.NewRow();                  

           string uname="UserName";                   

           row["UserId"] = i.ToString();                   

           row[uname] = "test" + i;                   

           dt.Rows.Add(row);

    }

    二、dt.RejectChanges(); dt.AcceptChanges();  dt.GetChanges();  三个函数的含义及相关用法

    DataTable 中的每个DataRow中都有DataRowState记录每行状态。此状态在DataTable中已经封装好。以下为DataRowState 不中状态值
        

        // 摘要:
            //     该行已被创建,但不属于任何 System.Data.DataRowCollection。System.Data.DataRow 在以下情况下立即处于此状态:创建之后添加到集合中之前;或从集合中移除之后。
            Detached = 1,
            //
            // 摘要:
            //     该行自上次调用 System.Data.DataRow.AcceptChanges() 以来尚未更改。
            Unchanged = 2,
            //
            // 摘要:
            //     该行已添加到 System.Data.DataRowCollection 中,System.Data.DataRow.AcceptChanges()
            //     尚未调用。
            Added = 4,
            //
            // 摘要:
            //     该行已通过 System.Data.DataRow 的 System.Data.DataRow.Delete() 方法被删除。
            Deleted = 8,
            //
            // 摘要:
            //     该行已被修改,System.Data.DataRow.AcceptChanges() 尚未调用。
            Modified = 16,

    dt.RejectChanges() 此函数表示 “回滚”,主要用在处理异常中。修改DataRowState为运行前的状态

    dt.AcceptChanges() 此函数表示“更新状态”, 例如:插入一条数据,获取最新数据,将当前状态改为默认初始状态

    dt.GetChanges() 此函数表示“发生改变的数据”,此函数将返回发生改变的数据,如果没有任何改变,则返回null;

    注意:

    当在使用GetChanges()时,文本发生改变时,不能获取改变值。

    原因:当前编辑文本没有失去焦点,不能立即获取更新的数据。

    解决办法:

    gvRight.CloseEditor();
    gvRight.UpdateCurrentRow();
    var data = m_DataSource.GetChanges();
    gvRight.ShowEditor();

  • 相关阅读:
    数据结构-连续子数组的最大和
    数据结构-并查集
    nginx开启代理后,出现net::ERR_CONTENT_LENGTH_MISMATCH 200 (OK)错误
    计算出n阶乘中尾部零的个数
    常见的加密方式总结
    idea中lombok不生效
    纯真ip地址数据库使用
    go mod使用
    exec: "gcc": executable file not found in %PATH%解决办法
    java多线程系列1-初识多线程多线程4种实现方式
  • 原文地址:https://www.cnblogs.com/chmblog/p/6029090.html
Copyright © 2011-2022 走看看