列为空或为空的行的DataTable Rowfilter语法

时间:2018-09-24 19:44:44

标签: c# .net winforms datatable

因此,我尝试在列为空或null的情况下过滤掉某些行。
我该怎么办?

看起来我需要某种类似于SQL的语句。
我想要类似的东西:

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

1 个答案:

答案 0 :(得分:3)

与数据表过滤器表达式中的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