3

このビデオでは、テキスト ボックスを追加して datagridView のフィルタリングを実行するのは非常に簡単であることがわかります。問題はこのビデオにあります。フィルタリングする列を特定する必要があるようです。

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

しかし、すべてのフィールドをチェックして、列に検索文字列が含まれている場合は行を表示したい場合はどうすればよいですか

4

1 に答える 1

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();
于 2013-06-06T01:32:44.457 に答える