.NET BindingSourcefilter语法参考

您可以使用BindingSource的Filter属性来执行类似过滤的SQL。 例如:

bindingSource.Filter= "Activated = 1" 

是否有类似文档的确切语法?

我想检查字段是否不是DBNull,所以我尝试了“Field!= NULL”但它给出了语法错误。

语法通常与在SQL Where子句中使用的语法相同,没有“Where”,所以在这种情况下,它将是

  bindingSource.Filter = "Field <> NULL"; 

如果你看一下BindingSource.Filter的msdn docs,你会看到:

“要形成filter值,请指定列的名称,后跟运算符和要过滤的值。接受的filter语法取决于基础数据源。如果基础数据源是DataSet,DataTable或DataView,则可以使用为DataColumn .. ::。Expression属性记录的语法指定布尔表达式

按照该链接查看所有详细规则

看看这篇msdn文章 。 所描述的语法也应该对您的BindingSource有效。

对我有用的是

 bindingSource.Filter = "columnName Is Null"; 

或者相反

 bindingSource.Filter = "columnName Is Not Null"; 

当Filter不为null引用时,BindingSource将此属性传递给基础列表。

如果您绑定到DataTable或DataView,则语法将是DataColumn.Expression属性中可用的语法。