2

这就是我正在尝试的......:

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,然后当我在第二个文本框中写入时,它会过滤来自第一个文本框的过滤数据网格视图的数据

4

2 回答 2

2

你应该使用我编辑的代码作为

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;
于 2013-06-27T07:33:26.337 回答
1

尝试这个:

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”和“modelTextBox”

于 2013-06-27T08:09:20.620 回答