2013-04-20 39 views
1

我正在使用Sqllite数据库和筛选datagridview使用五个组合框和它的工作正常,但我的问题是当我不选择值的任何组合框它does not工作因为我使用AND,如果我将使用或它不会给我想要的结果因为我想过滤使用组合框中的所有选定的值。 我的代码如下:使用多个控件筛选datagridview

DataView dv = new DataView(); 
     string voterlist = "select * from voters"; 
     DataTable dt = Database.myAdapter(voterlist); 
     dv = dt.DefaultView; 
     dataGridView1.DataSource = dv; 
     dv.RowFilter = string.Format("consname= '{0}' AND area = '{1}' AND pollingstn = '{2}' AND wardno = '{3}' AND policestn = '{4}'", combo_consname.SelectedItem, combo_Area.SelectedItem, combo_Polling.SelectedItem, combo_Ward.SelectedItem, combo_Police.SelectedItem); 

回答

0

好,如果你想允许用户不适用,你不应该设置RowFilter财产的任何过滤时的ComboBox的至少一个没有选择的项目或根据要提供的功能,你可以通过附加构建RowFilter

由一个只有当yourValue是一个非空而不空字符串
" AND columnX = '" + yourValue + "'" 

之一。

当然,你不必与AND

+0

启动RowFilter字符串,太感谢你了。我已经通过附加构造的RowFilter,现在,它做工精良.. – 2013-04-20 14:57:26