筛选DataTable中列为空或为null的行的语法

3

我想过滤掉某一列为空或null的行。
我该怎么做呢?

看起来我需要类似SQL语句的东西。
我想要这样的结果:

t.DefaultView.RowFilter = string.Format("[disabilities] IS NOT NULL OR EMPTY");

你尝试了什么?结果如何? - Ryan Wilson
@RyanWilson还没有尝试过empty,因为我不知道语法。 - Travis Su
1个回答

5
与数据表过滤表达式中的String.IsNullOrEmpty等效,你可以使用以下任一选项:
  • dt.DefaultView.RowFilter = "ISNULL(ColumnName,'')=''"
  • dt.DefaultView.RowFilter = "LEN(ISNULL(ColumnName,''))=0"
  • dt.DefaultView.RowFilter = "ColumnName IS NULL OR ColumnName=''"
要使它与!String.IsNullOrEmpty等效,你可以使用NOT(criteria) 或者使用不等操作符<>
  • dt.DefaultView.RowFilter = "NOT(ISNULL(ColumnName,'')='')"
  • dt.DefaultView.RowFilter = "NOT(LEN(ISNULL(ColumnName,''))=0)"
  • dt.DefaultView.RowFilter = "NOT(ColumnName IS NULL OR ColumnName='')"
有关筛选表达式语法的更多信息,请查看DataColumn.Expression

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接