我有一个sql表"活动"其中包括.ID,.Activ_Code,.Name,.Start,.End
Dim BS as BindingSource
Dim DGView as Datagridview
BS.Datasource=(From x in Dbase.Activity select x)
BS.Filter="Activ_Code=3"
DGView.datasource=BS
这显示来自"活动"的所有字段。表。 我将Filter属性更改为" Activ_Code =' 3'"和" Activ_Code LIKE 3"但它们都不起作用。
答案 0 :(得分:0)
来自MSDN:
只有实现IBindingListView接口的底层列表才支持过滤。
数据源只是IEnumerable
。您必须在LINQ查询本身中进行过滤。例如:
Dim mainList = (From x in Dbase.Activity select x).ToList
BS.Datasource=(From x in mainList.Where(...) select x)
并将过滤器放在点上。每次将数据源设置为新的筛选列表时, in 列表中的对象都不会受到影响,因为它们不会从数据库中重新获取。