DataGridView 过滤 in C#
DataTable dtData绑定的数据源
这个效率高
dtData.DefaultView.RowFilter = string.Format("Convert([{0}], 'System.String') LIKE '%{1}%'", filterField, textBox1.Text);
这个效率慢
CurrencyManager cm = (CurrencyManager)BindingContext[dataGridView1.DataSource];
cm.SuspendBinding();
foreach (DataGridViewRow dr in dataGridView1.Rows)
{
if(str.Equals(string.Empty))
{
if(!dr.Visible)
{
dr.Visible = true;
}
}
else
{
if (dr.Cells[0].Value.ToString().Contains(str/*, StringComparison.OrdinalIgnoreCase*/))
{
if (!dr.Visible)
{
dr.Visible = true;
}
}
else
{
if (dr.Visible)
{
dr.Visible = false;
}
}
}
}
cm.ResumeBinding();
```