-1

我有一个小问题,我不知道如何实现更多参数过滤器。我有 3 个复选框,名称、类别和日期(开始,结束)

这是我的代码,单独检查 1 是否可以正常工作

if (checkBox1.Checked == true)
            {
                views.RowFilter = "[Produkta nosaukums] like '%" + textBox3.Text.ToString() + "%'";
            }
            if (checkBox2.Checked == true)
            {
                views.RowFilter = "[Kateg.] like '%" + comboBox4.Text.ToString() + "%'";
            }
            if (checkBox3.Checked == true)
            {
                views.RowFilter = "[Derīguma termiņš] >= #" + dateTimePicker3.Value.ToString("yyyy/MM/dd") + "# and [Derīguma termiņš] <= #" + dateTimePicker4.Value.ToString("yyyy/MM/dd") + "#";
            }   

问题是当我想要更多参数搜索时,比如名称和类别。我在这里尝试的是我的代码,但仅适用于忽略的类别名称:/

if (checkBox1.Checked == false & checkBox2.Checked == false & checkBox3.Checked == false)
            {
                dataGridView1.Columns.Remove(editButton);
                dataGridView1.Columns.Remove(deleteButton);
                LOADALL();
            }


            if (checkBox1.Checked == true & checkBox2.Checked == true)
            {
                MessageBox.Show(comboBox4.Text.ToString());
                MessageBox.Show(textBox3.Text.ToString());
                views.RowFilter = "[Kateg.] like '%" + comboBox4.Text.ToString() + "%' and [Produkta nosaukums] like '%" + textBox3.Text.ToString() + "%'";
            }

我想要的是,过滤器也添加另一个复选框。

  1. 检查1,检查2,检查3
  2. 真的 真的 真的 没有意识到
  3. 真假真没意识到
  4. 假 真 真 没意识到
  5. 真真假不工作尝试
  6. 真假假工作
  7. 假真假工作
  8. 假假真工作
  9. 虚假虚假虚假工作

问题我不知道如何结合 :) 试过但没用:/

4

1 回答 1

3

我建议将 stringBuilder 与您的复选框检查结合使用。例如:

StringBuilder filter = new StringBuilder();

if(a.checked)
   filter.Append("filter here");

if(b.checked)
    filter.Append("filter here");

views.RowFilter= filter.toString();
于 2013-03-22T11:44:42.937 回答