2010-07-05 6 views
0

У меня есть List<T>, который связан с DataGridView, как это:Как фильтровать строки DataGridView с использованием предиката?

BindingSource bs = new BindingSource(); 
bs.DataSource = list; 
myDataGridView.DataSource = bs; 

Я хочу, чтобы фильтровать строки, которые отображаются с помощью предиката. Как мне это достичь?

Большое спасибо

+0

Вы можете написать некоторую другую логику, чтобы фильтровать перкулярный ряд в datagrid .. – user354625

ответ

0

Простое решение будет следующее:

Func<T, bool> predicate = ...; // Func<T, bool> or Predicate<T> 

BindingSource bs = new BindingSource(); 
bs.DataSource = list.Where(x => predicate(x)); 
myDataGridView.DataSource = bs; 

Если изменения предикатные затем либо обновить источник данных или просто переназначить его, используя новый предикат.

+0

блестящий! благодаря –

Смежные вопросы