Кажется, вы используете строго типизированные наборы данных, и поэтому я ожидал, что ваш datagridview привязан через BindingSource (дизайнер форм windows настраивает его таким образом, и я предполагаю, что вы использовали конструктор te для выполнения своих задач. привязка)
Если ваш datagridview действительно привязан через источник привязки:
Dim bs = DirectCast(datagridviewX.DataSource, BindingSource)
Dim sb = New StringBuilder() 'it will hold the filter string
For Each col in DtS_DGV.DTT_1.Columns
sb.AppendFormat("[{0}] = '{1}' OR ", col.ColumnName, "Sugar")
Next col
sb.Length -= 3 'remove the trailing OR
bs.Filter = sb.ToString()
Если ваш datagridview напрямую привязан к таблице, он будет прикреплен к свойству таблицы DefaultView
, DataView, в котором также есть фильтр, который работает таким же образом. В этом случае сделайте то же самое с l oop, чтобы построить строку фильтра, а затем:
DtS_DGV.DTT_1.DefaultView.Filter = sb.ToString()