Tengo problemas para hacer que un filtro funcione en un BindingSource que es el DataSource para un control DataGridView. Básicamente, tengo una consulta LINQ que es el DataSource para BindingSource y me gustaría filtrar los resultados. A continuación se muestra un ejemplo de lo que estoy tratando de lograr.Cómo filtrar un BindingSource con una consulta LINQ como el 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'"
...
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
Por lo tanto, puedo ver todas las filas en el control DataGridView pero el filtro no tiene ningún efecto. Si cambio el DataSource de BindingSource para usar una DataTable, entonces el filtrado funciona como se espera. ¿Qué me estoy perdiendo?