我有一个sql表"Activity",其中包括。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
显示了"Activity"表中的所有字段。我改变了过滤器属性为"Activ_Code='3'"one_answers"Activ_Code LIKE 3",但它们都不工作。
From MSDN:
只有实现了IBindingListView接口的底层列表才支持过滤。
数据源只是一个IEnumerable
。您必须在LINQ查询本身中进行过滤。例如:
Dim mainList = (From x in Dbase.Activity select x).ToList
BS.Datasource=(From x in mainList.Where(...) select x)
并在点处放置过滤器。每次将数据源设置为新的过滤列表时,列表中的对象不会受到影响,因为它们不会从数据库中重新获取。