DataView.RowFilter筛选DataTable中的数据
2014-09-23 16:55
344 查看
//定义一个DataView ,得到一个全部职员的视图 DataView dataView1 = DbHelperSQL.QueryDataView(sql); //过滤得到一个只显示男职员的视图 dataView1.RowFilter = " sex='男' "; //放弃过滤,现在仍然能够得到一个全部职员的视图 dataView1.RowFilter = null; //现在过滤得到一个只显示女职员的视图 dataView1.RowFilter = " sex='女' "; //获取性别字段为空的职员 dataView1.RowFilter = " sex is null "; //或者 dataView1.RowFilter = " Isnull( sex, 'Null Column') = 'Null Column' "; //获取时间为空(NULL)和非空的视图 dataView1.RowFilter = " AddTime is null ";//空 dataView1.RowFilter = " AddTime is not null ";// 非空 //或者这里也可以先用Convert将日期时间(DateTime)字段转为字符串,然后做空值比较 dataView1.RowFilter = " Isnull( Convert(AddTime, 'System.String'),'Null Column') = 'Null Column' "; //空 dataView1.RowFilter = " not ( Isnull( Convert(AddTime, 'System.String'),'Null Column') = 'Null Column' ) "; // 非空
DataTable dt = DataView.ToTable();正确的。
DataTable dt = DataView.Table; 获取的是原来构造DataView的那个原表(没有过滤之前的那个表)。
重点在于DataView是DateTable相关联 的一个视图而已,无论你如何使用RowFilter,DataView虽然被改变,但 DateTable数据不会减少,所以你不要幻想连续使用多个RowFilter 来得到叠加过滤的效果,一个DataView只支持一个RowFilter,你只能使用 not ,and 来连接多个过滤条件。
--------------------------------------------------------------------------------------------------------------------------
若要形成 RowFilter 值,请指定列的名称,后跟一个运算符和一个要筛选的值。 该值必须用引号括起来。 例如:
"LastName = 'Smith'"
若要只返回那些具有 null 值的列,请使用以下表达式:
"Isnull(Col1,'Null Column') = 'Null Column'"
下面的示例创建 DataView 并设置它的 RowFilter 属性。
private void MakeDataView() { DataView view = new DataView(); view.Table = DataSet1.Tables["Suppliers"]; view.AllowDelete = true; view.AllowEdit = true; view.AllowNew = true; view.RowFilter = "City = 'Berlin'"; view.RowStateFilter = DataViewRowState.ModifiedCurrent; view.Sort = "CompanyName DESC"; // Simple-bind to a TextBox control Text1.DataBindings.Add("Text", view, "CompanyName"); }
http://liug-li.blog.163.com/blog/static/2154166201241012941269/
相关文章推荐
- dataTable中筛选数据(datatable.select 和dataview.RowFilter)
- DataView.RowFilter筛选DataTable中的数据
- dataTable中筛选数据(datatable.select 和dataview.RowFilter)
- DataView.RowFilter筛选DataTable中的数据
- DataSet中利用DataTable,DataView筛选数据
- datatable.select 和dataview.RowFilter
- DataSet中利用DataTable,DataView筛选数据
- DataSet中利用DataTable,DataView筛选数据
- DataTable.Select , DataView.RowFilter , DataView.FindRows 的用法解析
- 用Linq和Dataview筛选查询DataTable数据,DataTable和List相互转换
- 数据视图DataView中,行过滤RowFilter的技巧应用
- DataTable的Select和DataView的RowFilter语句中注意将字段值中的单引号替换成两个单引号
- DataTable RowFilter 过滤数据
- DataTable 的DataView.RowFilter DataTable.Rows.Find 和 DataTable.Select
- DataSet中利用DataTable,DataView筛选数据.
- DataSet中利用DataTable,DataView筛选数据
- 数据视图DataView中,行过滤RowFilter的技巧整理
- 利用DataSet、DataTable、DataView按照自定义条件过滤数据
- 利用DataSet、DataTable、DataView按照自定义条件过滤数据
- 表示用于排序、筛选、搜索、编辑和导航的 DataTable 的可绑定数据的自定义视图