BindingSource.Filter:组合多个过滤器C#Winforms

时间:2014-05-06 15:35:23

标签: c# winforms ms-access-2010 bindingsource

我正在编写一个挂钩到Access数据库的程序。我有3个搜索条件,我试图合并。其中两个过滤器来自复选框,而第三个是搜索框。这三个人单独工作很棒。但是,在尝试连接过滤器时,它似乎只能识别“CheckedSListFilter”'。我已经测试了串联字符串的多次迭代而没有任何运气。我希望这只是一个语法问题。谢谢你的帮助。

        string SFilter = CheckedSListFilter();// method returns string "S = 'w1' OR S = 'w2' OR S = 'w3'"
        string PFilter = CheckedPStatusFilter();//method returns string "PA = 'True' OR "PB = 'True'"
        string CFilter = comboBox_SearchFields.Text;
        string filter = CFilter + " LIKE '" + "*" + textBox_search.Text + "*" + "'";//returns "R LIKE '*g*'"

                BindingSource bs = this.projectBindingSource;
                bs.Filter =  filter+" AND "+"("+PFilter +" OR "+SFilter+")";

1 个答案:

答案 0 :(得分:2)

我自己解决了这个问题。操作顺序让我感到沮丧。结束这样的事情:bs.Filter =“(”+ SFilter +“)”+“AND”+“(”+ PFilter +“)”+“和”+“(”+ PFilter +“)”; 所有现在都按预期工作。