在输入两个文本框时过滤datagridview

本文关键字:文本 过滤 datagridview 两个 输入 | 更新日期: 2023-09-27 18:20:08

这就是我正在尝试的…:

DataView dv = new DataView(table);
dv.RowFilter = String.Format("model like '%{0}%'", textBox2.Text);
if (!String.IsNullOrEmpty(textBox1.Text))
{
   dv.RowFilter = String.Format("vendor like '%{0}%'", textBox1.Text);
}
purchase_mobile_DG.DataSource = dv;

其中table是包含数据库中所有数据的数据表。。。。我有两个文本框,所以我想做的是,当我在第一个文本框中键入时,它会过滤数据网格视图,然后当我在第二个文本框写入时,它从第一个文本盒的过滤后的数据网格视图中过滤数据

在输入两个文本框时过滤datagridview

您应该将我编辑的代码用作

DataView dv = new DataView(table);
if (!String.IsNullOrEmpty(textBox1.Text))
{
   dv.RowFilter = String.Format("vendor like '%{0}%'", textBox1.Text);
}
dv.RowFilter = dv.RowFilter == "" ? String.Format("model like '%{0}%'", textBox2.Text) : dv.RowFilter + String.Format("AND model like '%{0}%'", textBox2.Text);
purchase_mobile_DG.DataSource = dv;

试试这个:

var dv = new DataView(table);
dv.RowFilter = String.IsNullOrEmpty(vendorTextBox.Text)
             ? ""
             : String.Format("vendor like '%{0}%' and (model like '%{1}%' or '{1}' = '')", vendorTextBox.Text, modelTextBox.Text);
purchase_mobile_DG.DataSource = dv;

此外,请将您的控件命名为"vendorTextBox"answers"modelTextBox"