如何将值添加到 Telerik RadGridView 列过滤器(尚未)在数据源中表示?

How can I add values to a Telerik RadGridView column filter that are not (yet) represented in the datasource?

在 vb.net WinForms 应用程序中,我们有一个带过滤功能的 RadGridView。我们有一列类别,一些用户希望过滤以仅查看具有特定类别的行。但是,过滤器弹出窗口中表示的唯一值是当前在 grid/datasource 中表示的值。我们的用户希望能够 select 一个类别,即使它还不在网格中。

我在网上看到有人提到 OnDistinctValueLoading 作为解决方案,但我的 RadGridView 上似乎没有该事件。

我想我们正在使用 Telerik 的自定义包,一个同事放入我们的 nuget 提要中,但它说 Telerik.WinForms 1.0.0。我在 Vb.Net,.Net 框架 4.5。

我想通了。

我可以用这样的方式在表单加载时加载类别:

Private Sub frmMyForm_Load(sender As Object, e As EventArgs) Handles Me.Load
   '...
   LoadAllCategoriesForFilter()
   '...
End Sub

Private Sub LoadAllCategoriesForFilter()
   Dim categories As List(Of String) = GetCategoriesList()
   If categories IsNot Nothing And categories.Count > 0 Then

       rgvMyRadGridView.Columns("colCategory").DistinctValues.Clear()
       For Each category As String In categories
           rgvMyRadGridView.Columns("colCategory").DistinctValues.Add(category)
       Next

    End If
End Sub