BindingSource.Filter忽略了我的一个条件

时间:2013-05-02 11:05:40

标签: c# winforms visual-studio-2010 filter bindingsource

我有一个包含多个条件的BindingSource过滤器。原因是我可以使用单个 search_textbox来查找特定记录...

我有一个问题,我有一个稍微更永久的条件“状态LIKE' {0} '和...... ”,但是一旦我输入任何内容,这个限制被忽略了。我认为'AND'会照顾到这一点,但显然我错了。

bs.Filter = String.Format("Status LIKE '*{0}*' AND Customer_Code LIKE '*{1}*' OR Customer_Name LIKE '*{1}*' OR Customer_JobNumber LIKE '*{1}*' OR Customer_Date LIKE '*{1}*' OR Order_Number LIKE '*{1}*'", select, textBox1.Text);

有什么建议吗? 非常感谢

Herman Vercuiel

编辑:

很抱歉,可能应该提到这是在TextChanged事件中重复发生..

1 个答案:

答案 0 :(得分:1)

你不需要在你的条件下添加几个括号吗?

bs.Filter = String.Format("Status LIKE '*{0}*' AND ( Customer_Code LIKE '*{1}*' " + 
                          "OR Customer_Name LIKE '*{1}*' OR Customer_JobNumber LIKE '*{1}*' " + 
                          "OR Customer_Date LIKE '*{1}*' OR Order_Number LIKE '*{1}*')", 
                          select, textBox1.Text);

表示STATUS LIKE '*<select>* AND (one or more the following condition is true)