【问题标题】:How can I add values to a Telerik RadGridView column filter that are not (yet) represented in the datasource?如何向 Telerik RadGridView 列过滤器添加(尚未)在数据源中表示的值?
【发布时间】:2018-01-11 15:41:42
【问题描述】:
在 vb.net WinForms 应用程序中,我们有一个带有过滤功能的 RadGridView。我们有一列类别,一些用户希望过滤以仅查看具有特定类别的行。但是,过滤器弹出窗口中表示的唯一值是当前在网格/数据源中表示的值。我们的用户希望能够选择一个类别,即使它还没有在网格中。
我在网上看到有人提到 OnDistinctValueLoading 作为解决方案,但我的 RadGridView 上似乎没有该事件。
我认为我们正在为 Telerik 使用自定义包,一位同事将其放入我们的 nuget 提要中,但它显示的是 Telerik.WinForms 1.0.0。我在 Vb.Net,.Net 框架 4.5。
【问题讨论】:
标签:
vb.net
winforms
telerik
radgridview
【解决方案1】:
我能够解决这个问题。
我可以在表单加载时加载类别,如下所示:
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