如何跨所有字段名称过滤 C# dataGridView?

leo*_*ora 3 c# datagridview filter

在这个视频中看到添加文本框并让它驱动数据网格视图的过滤非常容易。问题出在此视频中,您似乎必须具体说明要根据哪一列进行过滤。

 RowFilter = "FirstName like "%' + searchText.Text + '%" 
Run Code Online (Sandbox Code Playgroud)

但是,如果我希望它检查所有字段并在任何列中有我的搜索字符串时显示该行,该怎么办

Tom*_*dee 5

您可能希望遍历行中的每一列并附加 OR 比较

这真的是很愚蠢的代码,但希望能给你它的要点。就像是:

StringBuilder filter = new StringBuilder();

foreach(var column in dataGridView.Columns)
{
   if(filter.ToString() == "")
   {
       filter.Append(column.Name + " like '" + searchText.Text + "'");
   }
   else 
   {
      filter.Append(" OR ");
      filter.Append(column.Name + " like '" + searchText.Text + "'");
   }
}

RowFilter = filter.ToString();
Run Code Online (Sandbox Code Playgroud)