c#实现DataTable的筛选(dataview实现)

DataTable表示内存中数据的一个表,它完全是在内存中的一个独立存在,包含了这张表的全部信息。

DataView表示用于排序、筛选、搜索、编辑和导航的 DataTable 的可绑定数据的自定义视图,可以将DataView同数据库的视图类比,不过有点不同,数据库的视图可以跨表建立视图,DataView则只能对某一个DataTable建立视图。


1.按条件筛选

string strWord = "表";
//用dataview的方法实现筛选,dt为内存表
DataView dv = dt.DefaultView;
//筛选条件,字段word含有"表"字,且ID不为空的所有数据
//筛选可使用通配符%,*实现
dv.RowFilter = string.Format("word like '%{0}%' and ID is not null",strWord)
//将查得的数据转换为DataTable
DataTable dtSelect = dv.ToTable();

2.如果只需要筛选得到一列则,如下

DataTable dtSelect = dt.DefaultView.ToTable("false","ID"); //false表示不去重,去重意思是去掉该列中的所有行中重复的数

3.筛选得到两列,如下

//去重,得到ID,name两列数据
DataTable dtSelect = dt.DefaultView.ToTable("true","ID","name")

你可能感兴趣的:(c#)