我似乎无法找到一种在数据绑定DataGridView控件上对其列和行的整个呼吸进行全文搜索的方法。
DataTable和DataView对象似乎迫使我通过Select(),Find()或FindRows()搜索特定列。与DataGridView控件相同。
我有一个搜索字符串,我需要针对DataGridView的全部内容运行它。我确定答案就在某处。但是,在我学习C#和.Net框架的这个阶段,我似乎无法找到它。
这是我目前的解决方案,我想避免:
/*...*/
for (int i = found_last_row + 1; i < dataGridRes.Rows.Count; ++i)
{
for (int j = 0; j < dataGridRes.Columns.Count; j++)
{
if(dataGridRes.Rows[i].Cells[j].Value.ToString().Contains(search_last_str.))
{
dataGridRes.Rows[i].Selected = true;
dataGridRes.FirstDisplayedScrollingRowIndex = i;
found_last_row = i;
break;
}
}
}
/* ...*/
答案 0 :(得分:0)
我认为常见的方法是搜索源数据(而不是网格),然后重新绑定以仅显示匹配项。如果使用分页,则网格会从数据库中逐页提取数据,因此您只能搜索当前看到的页面。