我厌倦了使用文本框过滤数据 GridView ,文本框包含在标签页中,但它不起作用,这是代码:
private void textBox1_TextChanged(object sender, EventArgs e)
{
try
{
((DataTable)dataGridView1.DataSource).DefaultView.RowFilter = "like '%" + textBox1.Text.Trim() + "%' ";
}
catch (Exception) { }
}
最佳答案
RowFilter
允许您根据列值指定过滤器。所以 LIKE
适用于特定的列,而不是整行。所以你的条件应该是
"YourColumn like '%" + textBox1.Text.Trim() + "%'
此外,不要忘记 TextBox 可能包含 '
字符,因此您需要对其进行转义:
"YourColumn like '%" + textBox1.Text.Trim().Replace("'", "''") + "%'
或者,清洁工:
string.Format("YourColumn like '%{0}%'", textBox1.Text.Trim().Replace("'", "''"));
关于c# - 如何在 C# 中使用文本框过滤 datagridview?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6996375/