我有5个datagridviews,每个5到15列......
所以我想尝试自动过滤一点点。但我根本无法让它工作!
我的bindingSource使用A BindingList实现Sortable:http://www.tech.windowsapplication1.com/content/sortable-binding-list-custom-data-objects
我已经搜索了一段时间,但我找不到为什么我可以设置bindingSource.Filter,但它没有做任何事情:S
我找到了数据表或c#的示例,但我还没有找到一些用于Vb.net和BindingSource ......
这是我创建绑定源的代码,我添加了过滤器作为测试,它通常不在这里。
Public Function reqTable(Of T)(ByVal pTable As String, ByVal pNoProjet As Integer,
Optional ByVal strAdditionnalConditions As String = "") As BindingSource
Dim lstRetour As New cclSortableBindingList(Of T)(New List(Of T))
Dim bsRetour As New BindingSource(lstRetour, "")
rsRequestCSV = conSQL.Execute("SELECT * FROM " & pTable & " WHERE NoProjet = " &
pNoProjet & " " & strAdditionnalConditions)
With rsRequestCSV
While Not .EOF
lstRetour.Add(Activator.CreateInstance(GetType(T), New Object()
{rsRequestCSV.Fields})) 'New clsTable(rsRequestCSV.Fields))
.MoveNext()
End While
End With
bsRetour.Filter = "Quantite < 3"
Return bsRetour
End Function
答案 0 :(得分:1)
为了使用BindingSource.Filter
,基础列表(cclSortableBindingList
)需要实现IBindingListView
接口。 BindingList
未实现此接口。
请参阅MSDN中的BindingSource.Filter Property 。