我的代码是这样的

BindingSource bs=new BindingSource();
List<Items> lstItems= ListItems();

bs.DataSource=lstItems;


我将此绑定源绑定到gridview。

grd.DaataSource=bs;


然后,我将此原始BindingSource复制到单独的BindngSource

BindingSource filterBs=new BindingSource();


然后我对Bindingsource使用过滤条件

filterBs.Filter= "ItemCode='1' and cost>'200'";

grd.DataSource=null;


将网格的数据源重新绑定到过滤后的绑定源。

grd.DataSource=filterBs;


但是现在它也显示了网格中的所有记录。

最佳答案

将List与BindingSource一起使用并尝试过滤时,您可能会遇到其他问题,因此我建议使用此SO线程DataBinding of DataGridView and List<> with BindingSource

10-07 14:13