创建搜索功能,包括AND OR vb .net

时间:2014-04-19 18:36:42

标签: sql vb.net function search datagridview

希望你能在这里帮助我并激励我

我希望创建一个搜索功能,搜索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的任何内容。

过去有没有人做过这样的事情,或者有什么想法呢?

全部谢谢

1 个答案:

答案 0 :(得分:0)

一种方法是从左到右扫描字符串,然后在每次遇到括号时递归调用求值程序。在递归调用之后,将带括号的表达式替换为“true”或“false”。如果您打算允许and的优先级高于or,您也可以递归处理。{/ p>