【问题标题】:Correct syntax for RowFilterRowFilter 的正确语法
【发布时间】:2015-12-27 15:23:45
【问题描述】:

我在互联网上找不到任何关于这种语法的信息。我正在使用以下语法在 DataTable 中搜索:

dtSearch.DefaultView.RowFilter = 
"(Id = '426124' OR Id = '426155' OR Id = '426186') AND 
 (Name, Surname = 'xyz, abc' OR Name, Surname = 'uvw, def')"

这里我收到一个系统税错误。这里有什么问题?如何构造一个基于上述多个 OR 和 AND 部分的语句?

我尝试省略括号并在列名上使用 '' 但这里似乎没有任何效果。

谢谢!

【问题讨论】:

  • (Name= 'xyz' and Surname ='abc') 应该分开
  • 这是列名。这些条目在我的单元格中以这种形式出现
  • 啊现在我明白了..我回答了
  • 您的列名为Name, Surname?但为什么?您可以使用 [] ,但将其更改为更好的名称,例如 FullName
  • 同意最好将它们存储在不同的列中

标签: c# winforms datatable rowfilter


【解决方案1】:

如果我理解正确,“姓名,姓氏”是一个带空格的列名。
如果列名中有空格,则必须使用方括号,

([Name, Surname] = 'xyz, abc' OR [Name, Surname] = 'uvw, def')"

请参考类似问题
How to filter datagridview across field name which has space character?

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-02-28
  • 1970-01-01
  • 2019-11-26
  • 1970-01-01
  • 2017-06-22
  • 2011-08-21
  • 2016-12-28
相关资源
最近更新 更多