datatable 排序

 很详细的DataTable的介绍的文章:http://www.cnblogs.com/alexis/archive/2010/09/18/1830036.html

datatable.Select() http://www.cnblogs.com/_zjl/archive/2013/05/22/3092337.html

//DataTable 排序 下面三行代码
DataView dv = dt.DefaultView;
dv.Sort = "id Asc"; //根据ID排序
DataTable dt2 = dv.ToTable();

 在 UNION中 使用order by的方法

DataRow[] rows = dataTable1.Select("", "ord asc");

DataTable t = DataTable1.Clone();

t.Clear();

foreach (DataRow row in rows)

    t.ImportRow(row);//添加Row

DataTable1 = t;

VS2005中这种方法最简单:
DataView dv = dt.DefaultView;
dv.Sort = "c1 Asc";
DataTable dt2 = dv.ToTable();

----

//拿到数据源
DataView dv = this.dtDataSource.Copy().DefaultView;
//排序
dv.Sort = "款 asc,項 asc,目 asc";
//过滤重复数据
//DataTable dt = dv.ToTable(true, "款", "項", "目");
//不过滤重复数据
DataTable dt = dv.Table.Copy();  

 两个Datatable的相加(数据汇总) 

DataTable dt1 = new DataTable();
DataTable calcdt = new DataTable();
calcdt = SQL.command(calc).Tables[0];
DataRow drcalc;
foreach (DataRow dr in calcdt.Rows)
{
    drcalc = dt1.NewRow();
    drcalc.ItemArray = dr.ItemArray;
    dt1.Rows.Add(drcalc);
}
 

 1,if(ds == null) 这是判断内存中的数据集是否为空,说明DATASET为空,行和列都不存在!!

  2,if(ds.Tables[0].Count == 0) 这应该是在内存中存在一个DATASET,但是,数据集中不存在表!!

  3,if(ds.Tables[0].Count == 1 && ds.Tables[0].Rows.Count == 0)  说明存在表table,但是,表内没有数据!

原文地址:https://www.cnblogs.com/wangjunwei/p/2737494.html