一堆 dotnet 框架组件使用一个 DataSource 组件。我有一个对象,它具有许多可以修改它所代表的 DataSource 的设置。我想将此对象设置为一组 ComboBoxes 和 DataGridViewComboBoxCells 的下拉数据源。
我的问题是在尝试将事物实际挂钩到 ComboBox 时出现。我猜是因为一旦设置了 DataSource 就会发生对 DataSource 的更改,我必须使用这些 BindingSource 之一,但是 MSDN 文献正在拉扯它通常的恶作剧,即告诉我什么是 bindingSource 而没有告诉我它做了什么或者它是如何工作的。
你们建议将此对象作为数据源/绑定源连接的最佳方法是什么?
编辑:
显然这个类是垃圾,但它说明了我现在拥有的那种对象。
目前大部分时间都悬而未决,但基本上这表明我的课程本身不是一个集合,而是包含一个。我需要能够指示 ComboBox 的 DataSource 属性在此处找到一个易失性列表,并且它应该使用该列表作为其下拉列表的 DataSource。
Public Class DynamicDataSource
Private basicList As New List(Of String)(New String() {"one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten"})
Private _showEvensOnly As Boolean
Private _showNotContainingO As Boolean
Public Property ShowEvensOnly() As Boolean
Get
Return _showEvensOnly
End Get
Set(ByVal value As Boolean)
_showEvensOnly = value
End Set
End Property
Public Property ShowNotContainingO() As Boolean
Get
Return _showNotContainingO
End Get
Set(ByVal value As Boolean)
_showNotContainingO = value
End Set
End Property
Public Function GetDynamicList() As List(Of String)
Dim processMe As New List(Of String)(basicList)
If Me._showEvensOnly Then
For JJ As Integer = processMe.Count - 1 To 0 Step -1
If JJ Mod 2 = 0 Then
processMe.Remove(processMe(JJ))
End If
Next
End If
If Me._showNotContainingO Then
For JJ As Integer = processMe.Count - 1 To 0 Step -1
If processMe(JJ).ToUpper.Contains("O"c) Then
processMe.Remove(processMe(JJ))
End If
Next
End If
Return processMe
End Function
End Class