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

时间:2013-06-06 01:16:17

标签: c# datagridview filter

我看到in this video很容易添加一个文本框并让它驱动datagridView的过滤。问题出现在这个视频中,您似乎必须具体根据哪个列进行过滤。

 RowFilter = "FirstName like "%' + searchText.Text + '%" 

但如果我想要检查所有字段并显示该行(如果任何列中包含我的搜索字符串)该怎么办

1 个答案:

答案 0 :(得分:4)

您希望遍历行中的每一列并附加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();