我有一个List<T>
绑定到DataGridView,如下所示:
BindingSource bs = new BindingSource();
bs.DataSource = list;
myDataGridView.DataSource = bs;
我想过滤使用谓词显示的行。我如何实现这一目标?
非常感谢
答案 0 :(得分: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;
如果您的谓词发生更改,则刷新数据源或仅使用新谓词重新分配它。