C# DataTable RowFilter 过滤
2014-01-08 09:44
453 查看
若要形成 RowFilter 值,请指定列的名称,后跟一个运算符和一个要筛选的值。 该值必须用引号括起来。
重点在于DataView是DateTable相关联 的一个视图而已,无论你如何使用RowFilter,DataView虽然被改变,但 DateTable数据不会减少,所以你不要幻想连续使用多个RowFilter 来得到叠加过滤的效果,一个DataView只支持一个RowFilter,你只能使用 not ,and 来连接多个过滤条件。
不过RowFilter不支持不等于(<>、!=、not like),不过如果只是单纯的对确定的字符串操作,可以用in和not in,数据库查询语句则不行。
eg:
若要形成 RowFilter 值,请指定列的名称,后跟一个运算符和一个要筛选的值。该值必须用引号括起来。
例如:
若要只返回那些具有空值的列,请使用以下表达式:
//数据集中这列为null或者“”都过滤掉 pds.Tables[0].DefaultView.RowFilter = "字段名='' or 字段名 is null"; //pds.Tables[0].DefaultView.RowFilter = "YHZHBH='00'"; //绑定 this.grid1.DataSource = pds.Tables[0].DefaultView; DataTable dt = DataView.ToTable();正确的。 DataTable dt = DataView.Table; 获取的是原来构造DataView的那个原表(没有过滤之前的那个表)。
重点在于DataView是DateTable相关联 的一个视图而已,无论你如何使用RowFilter,DataView虽然被改变,但 DateTable数据不会减少,所以你不要幻想连续使用多个RowFilter 来得到叠加过滤的效果,一个DataView只支持一个RowFilter,你只能使用 not ,and 来连接多个过滤条件。
不过RowFilter不支持不等于(<>、!=、not like),不过如果只是单纯的对确定的字符串操作,可以用in和not in,数据库查询语句则不行。
eg:
dt.DefaultView.RowFilter = "Name in ('zhang')"; dt.DefaultView.RowFilter = "Name not in ('zhang')"; dt.DefaultView.RowFilter = "Name in (select Name from StudentInfo)"; //错误
若要形成 RowFilter 值,请指定列的名称,后跟一个运算符和一个要筛选的值。该值必须用引号括起来。
例如:
"LastName = 'Smith'"
若要只返回那些具有空值的列,请使用以下表达式:
"Isnull(Col1,'Null Column') = 'Null Column'"
相关文章推荐
- C# DataTable RowFilter 过滤
- DataTable RowFilter 过滤
- DataTable RowFilter 过滤数据
- DataTable RowFilter 过滤
- DataTable.RowFilter 用法
- get row data value& datatable filter & new datatable from datatable
- C# DataTable 过滤重复数据
- RowFilter 对于已获取到的dataset进行过滤
- DataView.RowFilter筛选DataTable中的数据
- c# DataTable select 过滤返回新DataTable
- datatable.select 和dataview.RowFilter
- c# datatable row
- Remove row from generic datatable in C#(The given DataRow is not in the current DataRowCollection)
- DataTable.Select , DataView.RowFilter , DataView.FindRows 的用法解析
- C# openfiledialog设置filter属性后达不到过滤效果的原因之一
- C# DataView.RowFilter的使用
- c# 重写GridLookUpEdit的过滤事件_OnCreateLookupDisplayFilter
- 杂记a---DataTable.DefaultView.ToTable,.Sort,.RowFilter;DataTable.Copy()
- C# openfiledialog设置filter属性后达不到过滤效果的原因之一
- DataTable 的DataView.RowFilter DataTable.Rows.Find 和 DataTable.Select