关键词搜索

源码搜索 ×
×

C# DataTable RowFilter 过滤

发布2014-01-08浏览18087次

详情内容

若要形成 RowFilter 值,请指定列的名称,后跟一个运算符和一个要筛选的值。 该值必须用引号括起来。
  1. //数据集中这列为null或者“”都过滤掉
  2. pds.Tables[0].DefaultView.RowFilter = "字段名='' or 字段名 is null";
  3. //pds.Tables[0].DefaultView.RowFilter = "YHZHBH='00'";
  4. //绑定
  5. this.grid1.DataSource = pds.Tables[0].DefaultView;
  6. DataTable dt = DataView.ToTable();正确的。
  7. DataTable dt = DataView.Table; 获取的是原来构造DataView的那个原表(没有过滤之前的那个表)。

重点在于DataView是DateTable相关联 的一个视图而已,无论你如何使用RowFilter,DataView虽然被改变,但 DateTable数据不会减少,所以你不要幻想连续使用多个RowFilter 来得到叠加过滤的效果,一个DataView只支持一个RowFilter,你只能使用 not ,and 来连接多个过滤条件。

不过RowFilter不支持不等于(<>、!=、not like),不过如果只是单纯的对确定的字符串操作,可以用in和not in,数据库查询语句则不行。

eg:

  1. dt.DefaultView.RowFilter = "Name in ('zhang')";
  2. dt.DefaultView.RowFilter = "Name not in ('zhang')";
  3. dt.DefaultView.RowFilter = "Name in (select Name from StudentInfo)"; //错误

若要形成 RowFilter 值,请指定列的名称,后跟一个运算符和一个要筛选的值。该值必须用引号括起来。

例如:

"LastName = 'Smith'"

若要只返回那些具有空值的列,请使用以下表达式:

"Isnull(Col1,'Null Column') = 'Null Column'"







相关技术文章

最新源码

下载排行榜

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载