我有一个浏览按钮,可以将5个不同的表格浏览到DataGridView
。我有一个scrollBar
来完成它们。现在我需要进行搜索TextBox
,如果我在其中写下类似" Milk"它会自动查找包含该名称/单词e.x的所有表。有5个表可以通过,但现在只有3个,因为只有3个包含单词milk。这是我的代码只搜索1表(我只有那么远)。谢谢!
private void textBox5_TextChanged(object sender, EventArgs e)
{
DataView dv = new DataView(dt);
dv.RowFilter = string.Format("Prece LIKE '%{0}%'", textBox5.Text);
dataGridView1.DataSource = dv;
}
答案 0 :(得分:0)
这样的事情:
private void textBox5_TextChanged(object sender, EventArgs e)
{
// Your gridViews here
var gridList = new List<DataGridView>() { yourGrid1, yourGrid2};
foreach(DataGridView dv in gridList)
{
dv.RowFilter = string.Format("Prece LIKE '%{0}%'", textBox5.Text);
dataGridView1.DataSource = dv;
}
}
将您的DataGridViews
添加到列表中,让它迭代它们。你只需要处理如何输出它。
请注意,我在这里没有编辑您的搜索方法。我刚刚添加了循环。
答案 1 :(得分:0)
如果您有一个DataGridView并且所有DataTables都相同
private void textBox5_TextChanged(object sender, EventArgs e)
{
DataView dv = new DataView(dt);
dv.RowFilter = string.Format("Prece LIKE '%{0}%'", textBox5.Text);
DataTable dtMain=dv.ToTable().Copy();
dv = new DataView(dt2);
dv.RowFilter = string.Format("Prece LIKE '%{0}%'", textBox5.Text);
dtMain.Merge(dv.ToTable());
dv = new DataView(dt3);
dv.RowFilter = string.Format("Prece LIKE '%{0}%'", textBox5.Text);
dtMain.Merge(dv.ToTable());
dataGridView1.DataSource = dtMain;
}