2014-05-06 62 views
0

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

 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

解决这个我自己。经营秩序让我感到沮丧。最后做这样的事情:bs.Filter =“(”+ SFilter +“)”+“AND”+“(”+ PFilter +“)”+“AND”+“(”+ PFilter +“)”;现在全部按预期工作。