Datatable用法

           //Datatable 的用法
           /*
            * 1、基本的DataTable列行增加
            * 2、排序、筛选等用法
            * 3、xml之间的转化
            * 4、Json之间的转换
            * 5、list之间的转换
            * 6、实体类之间的转换
            */

今天把常用的Datatable整理了一下,虽然平时经常用这个,但是没有总结过,这次刚好有点时间做个笔记;

先看第一个:

 DataTable dt = new DataTable();
            dt.Columns.Add("ID",typeof(int));
            dt.Columns.Add("Name",typeof(string));
            dt.Columns.Add("Sex",typeof(string));
            DataRow dr = dt.NewRow();
            dr["ID"] = "1";
            dr["Name"] = "张三";
            dr["Sex"] = "男";
            dt.Rows.Add(dr);
             dr = dt.NewRow();
            dr["ID"] = "2";
            dr["Name"] = "李四";
            dr["Sex"] = "男";
            dt.Rows.Add(dr);
            dr = dt.NewRow();
            dr["ID"] = "12";
            dr["Name"] = "旺旺";
            dr["Sex"] = "男";
            dt.Rows.Add(dr);
            dr = dt.NewRow();
            dr["ID"] = "22";
            dr["Name"] = "王五";
            dr["Sex"] = "男";
            dt.Rows.Add(dr);
            dr = dt.NewRow();
            dr["ID"] = "32";
            dr["Name"] = "赵六";
            dr["Sex"] = "男";
            dt.Rows.Add(dr);

第二个:按照其中已知的某一列排序(根据实际列的类型需要修改代码)

 static  public DataTable DtSortA(DataTable Dt, string column)
        {
            DataTable dtNew = Dt.Clone();
            dtNew.Columns[column].DataType = typeof(DateTime);
            foreach (DataRow s in Dt.Rows)
            {
                dtNew.ImportRow(s);//导入旧数据
            }
            dtNew.DefaultView.Sort = column + " desc";
            dtNew = dtNew.DefaultView.ToTable();
            return dtNew;
        }
      static public DataTable DtSortB(DataTable Dt, string column)
        {
            DataTable dtNew = Dt.Clone();
            foreach (DataRow item in Dt.AsEnumerable().OrderByDescending(a => Convert.ToDateTime(a[column])))
            {
                dtNew.ImportRow(item);
            }
            return dtNew;
        }
            DataTable dt_order_soon = dt_invest.Clone();//克隆表

            if (dt_invest != null && dt_invest.Rows.Count > 0)
            {
                DataRow[] dt_soon = dt_invest.Select("1=1");//筛选条件
                for (int e = 0; e < dt_soon.Length; e++)
                {
                    var day = new JBLProCompute.InComeCount().ReturnDays(DateTime.Now, Convert.ToDateTime(dt_soon[e]["DateOver"].ToString()));
                    if (day >= 0 && day <= 7)
                    {
                        dt_order_soon.ImportRow(dt_soon[e]);
                    }
                }           }
            DataTable dt = new DataTable();
            dt.Columns.Add("ID", typeof(int));//Type.GetType("System.String")
            dt.Columns.Add("Name",typeof(string));
            dt.Columns.Add("Sex",typeof(string));
            DataRow dr = dt.NewRow();
            dr["ID"] = "1";
            dr["Name"] = "张三";
            dr["Sex"] = "男";
            dt.Rows.Add(dr);
            DataTable ddt = new DataTable();
            //输出指定的列数据
           ddt= dt.DefaultView.ToTable(false,new string[] {"ID","Name"});

第三:

DataTable dt = new DataTable();
            dt.Columns.Add("ID", typeof(int));//Type.GetType("System.String")
            dt.Columns.Add("Name",typeof(string));
            dt.Columns.Add("Sex",typeof(string));
            DataRow dr = dt.NewRow();
            dr["ID"] = "1";
            dr["Name"] = "张三";
            dr["Sex"] = "男";
            dt.Rows.Add(dr);////想要输出xml格式,当前的Datatable表必须要有表名
           dt.TableName = "myData";//添加Datatable表名才能输出xml格式
           System.IO.StringWriter dsw = new System.IO.StringWriter();
           System.Xml.XmlTextWriter xw = new System.Xml.XmlTextWriter(dsw);
           dt.WriteXml(xw);
           string s = dsw.ToString();
            //将xml格式转成Datatable格式,直接是xml格式的字符串最外层是根节点,第二层是表名,三层是字段和数据
           string strxml = @"<xml><Login><ID>1</ID><Name>小明</Name></Login><Login><ID>2</ID><Name>小万</Name></Login></xml>";
          //第二种是文件读入xml
          XmlDocument docddd=new XmlDocument();          docddd.Load(Server.MapPath("/datatable.xml"));           DataTable dt_xml = ConvertXMLToDataSet(docddd.InnerXml).Tables[0];
时间: 2024-07-30 23:30:37

Datatable用法的相关文章

datatable 用法

1 DataTable datainsert = dt.GetChanges(DataRowState.Added); 2 DataTable datadelete = dt.GetChanges(DataRowState.Deleted); 3 DataTable dataupdate = dt.GetChanges(DataRowState.Modified); 4 DataTable datadelete_origin = dt.Clone(); datatable的GetChange可以

2016.2.28 DataTable用法汇总

利用视图排序 DataView dv = dtpdf.DefaultView; dv.Sort = "航路点 Asc"; gdc_pdfpnt.DataSource = dv.ToTable(); 将一个DataTable的某些行加入另一个DataTable中 2016.9.1 首先复制表结构,注意Clone和Copy的区别 DataTable prtdt = ((DataTable)gdc_zxnotmatch.DataSource).Clone();//Clone只拷贝结构,不拷贝

Net编程 详解DataTable用法【转】

http://www.diybloghome.com/article/16.html DataTable表示一个与内存有关的数据表,可以使用工具栏里面的控件拖放来创建和使用,也可以在编写程序过程中根据需要独立创建和使用,最常见的情况是作为DataSet的成员使用,在这种情况下就需要用在编程过程中根据需要动态创建数据表. 1 代码创建DataTable数据表通过添加对象的方式直接在DataSet中创建数据表,可以通过使用Add方法将DataTable添加到DataSet中,这种是使用控件的可视化添

JQuery Datatable用法

原文出处:http://sgyyz.blog.51cto.com/5069360/1408251 目标: 使用jQuery Datatable构造数据列表,并且增加或者隐藏相应的列,已达到数据显示要求.同时,jQuery Datatable强大的功能支持:排序,分页,搜索等. Query Datatable能良好支持数据完全加载到本地后构建数据列表,排序.分页.搜索等功能就会自带,不需要我们去关心,在此主要说明通过后台动态的加载数据,已达到在大数据面前提高效率的效果. 1. 通过后台进行分页 2

C# DataTable详细用法

通过经常使用的项目中的DataTable,假设DataTable使用得当.不仅能使程序简洁有用.并且可以提高性能,达到事半功倍的效果.现对DataTable的使用技巧进行一下总结. 一.DataTable简单介绍 (1)构造函数 DataTable()   不带參数初始化DataTable 类的新实例. DataTable(string tableName)  用指定的表名初始化DataTable 类的新实例. DataTable(string tableName, string tableNa

C# DataTable的詳細用法 - hcw_peter的专栏 - 博客频道 - CSDN

C# DataTable的詳細用法 - hcw_peter的专栏 - 博客频道 - CSDN.NET 在项目中经常用到DataTable,如果DataTable使用得当,不仅能使程序简洁实用,而且能够提高性能,达到事半功倍的效果,现对DataTable的使用技巧进行一下总结. 一.DataTable简介 (1)构造函数           DataTable()   不带参数初始化DataTable 类的新实例.           DataTable(string tableName)  用指

jQuery Datatable系列文章(一)用法以及属性

废话不多说上效果图 jQuery Datatable 插件可以去官网下载 先说说如何用法 戳此处看 我还是在这稍微说下 (声明一下html代码里面有各种类,是因为做项目的时候用的bootstrap,你可以不用加) 在js里面如何调用呢 如下 来具体解释下用法 1 if (typeof gp.dataTable != 'undefined' && gp.dataTable != null) { //为了避免多次初始化datatable() 2 3 gp.dataTable.fnClearTa

DataSet与DataTable基本用法

http://files.cnblogs.com/files/monkeyZhong/DataSetExample.rar 在设计数据库操作或者XML操作等表格数据时,我们难免要跟DataSet和DataTable打交道,我们这里就介绍下这几个类的用法: 首先介绍DataTable,其实就是一个二维表格,没那么悬乎,举个构造的例子: DataTable dt = new DataTable("Customers"); dt.Columns.Add("CustomerID&qu

DataTable.Compute()用法

一.DataTable.Compute()方法說明如下作用:           计算用来传递筛选条件的当前行上的给定表达式. 格式為:           Object Compute (string expression,string filter)参数:           expression:要计算的表达式. expression 参数需要聚合函数.           filter:要限制在表达式中进行计算的行的筛选器. 如:“Menu_ID=5” //表示Menu_ID為5的行 返