.net 如何筛选以LINQ查询作为数据源的BindingSource
我很难在BindingSource(DataGridView控件的数据源)上使用过滤器。基本上,我有一个LINQ查询,它是BindingSource的数据源,我想过滤结果。下面是我试图完成的一个例子.net 如何筛选以LINQ查询作为数据源的BindingSource,.net,data-binding,filter,.net,Data Binding,Filter,我很难在BindingSource(DataGridView控件的数据源)上使用过滤器。基本上,我有一个LINQ查询,它是BindingSource的数据源,我想过滤结果。下面是我试图完成的一个例子 Dim query = From row In dataTable _ Select New MyRow(row) Dim bs As New BindingSource() bs.DataSource = query.ToList() grid.DataSource =
Dim query = From row In dataTable _
Select New MyRow(row)
Dim bs As New BindingSource()
bs.DataSource = query.ToList()
grid.DataSource = bs
bs.Filter = "Col1 = 'value'"
因此,我可以看到DataGridView控件中的所有行,但过滤器没有任何效果。如果我将BindingSource的数据源切换为使用DataTable,那么过滤将按预期工作。我缺少什么?来自BindingSource文档: 通常用于复杂数据绑定 场景中,筛选器属性允许 您需要查看 数据源。只有底层列表 实现IBindingListView 接口支持过滤
Public Class MyRow
Private _key As String
Private _col1 As String
Public Sub New(ByVal row As DataTableRow)
_key = GetNewKeyValue()
_col1 = row.Col1
End Sub
Public ReadOnly Property Key() As String
Get
Return _key
End Get
End Property
Public ReadOnly Property Col1() As String
Get
Return _col1
End Get
End Property
End Class