1.抽取其中的distinct数据
DataTable dt; DataView dv = dt.DefaultView; //ToTable()的第一个参数为是否DISTINCT DataTable dtDistinct = dv.ToTable(true,"FieldName1","FieldName2","...");
2.使用Select筛选数据
1 //查询 2 DataRow[] drArr = dt.Select("C1='abc'"); 3 4 //模糊查询 5 DataRow[] drArr = dt.Select("C1 LIKE 'abc%'"); 6 //另一种模糊查询的方法 7 DataRow[] drArr = dt.Select("'abc' LIKE C1 + '%'", "C2 DESC"); 8 9 //排序 10 DataRow[] drArr = dt.Select("C1='abc'", "C2 DESC");
如果我们要把这些按给定条件筛选出来的数据重新赋给一个新的DataTable
错误示范:
DataTable dtNew = dt.Clone(); for (int i = 0; i < drArr.Length; i++) { dtNew.Rows.Add(drArr[i]); }
(这样会提示DataRow属于其他DataTable)
应该使用下面方法进行赋值:
DataTable dtNew = dt.Clone(); for (int i = 0; i < drArr.Length; i++) { dtNew.ImportRow(drArr[i]); }
参考链接:
1.https://blog.csdn.net/dengsunshine69/article/details/48004241
2.https://www.cnblogs.com/jianxm/archive/2009/03/31/1426681.html