希望你能在这里帮助我并激励我
我希望创建一个搜索功能,搜索datagridview列,查找关键字,然后根据结果进行过滤。我已经这样做了,它工作正常。但是,这是基于用户在字符串中输入字符串,用逗号分隔字符串。所以一个例子就是 具有3个值的DataGridViewColumn
ERROR_QUEUE_MAY05
ERROR_QUEUE_MAY06
ORDER_QUEUE_JAN01
用户然后输入搜索条件
ORDER,06
结果将是
ERROR_QUEUE_MAY06 ORDER_QUEUE_JAN01
如您所见,过滤器使用了OR来过滤列
我希望用户能够像在SQL语句中一样使用方括号()和AND语句,以便他们可以使用例如
(" ORDER" AND" MAY")或" 03"
这会过滤结果,以显示标题或03中ORDER和MAY的任何内容。
过去有没有人做过这样的事情,或者有什么想法呢?
全部谢谢
答案 0 :(得分:0)
一种方法是从左到右扫描字符串,然后在每次遇到括号时递归调用求值程序。在递归调用之后,将带括号的表达式替换为“true”或“false”。如果您打算允许and
的优先级高于or
,您也可以递归处理。{/ p>