如何在没有任何数据库的情况下在 Visual Basic 中过滤 GridView

How to filter a GridView in Visual Basic WITHOUT any Database

我在互联网上做了很多研究,并且在 VB.NET 中找到了很多关于 "how to filter/sort a GridView" 的教程,但是,所有主题都使用数据库。

就我而言,我只有这些:

myMP3Collection = New List(Of MP3Song.MP3Song)
mp3SongBinndingSource.DataSource = myMP3Collection

我正在使用 List(Of ...),因为当我填充此列表时,我会进行一些验证并且我可能会修改一些 "already added" 数据。这对我来说很容易:

myMP3Collection.ElementAt(i).Extd = True 'Extd is a Boolean property, others are string...

在我的研究过程中,我发现我应该使用 DataSet(比 filter/sort GridView 更容易)。 这是我的问题:

  1. 我是否应该根据我的 collection 创建一个 DataSet(由扫描我的列表的 For Each 填充,然后将 row 中的所有项目添加到我的 table
  2. 或者我应该尝试直接填充 DataSet 而不是 ListOf()。如果第二个选择更好,是否像 collection 一样容易访问和修改一行中的元素?

感谢您的宝贵时间:)

Tim Van Wassenhove 的 FilterList 正是您所需要的。他将 List(Of T) 扩展为 SortableBindingLists 和 FilterLists。

虽然他的代码是C#,但你可以很容易地使用在线转换器。或者,创建一个 C# .DLL,使用代码,并从您的 VB.NET 应用中引用该 .DLL。