dotnetフレームワークコンポーネントの束はDataSourceコンポーネントを使用します。 私は、それが表すDataSourceを変更できるいくつかの設定を持つオブジェクトを持っています。私はComboBoxesとDataGridViewComboBoxCellsのセットのドロップダウンデータソースとしてこのオブジェクトを設定したいと思います。非コレクションオブジェクトをデータソースとして使用
私の問題は実際にコンボボックスに物事をフックしようとしているときに来る。 DataSourceが設定されると、DataSourceの変更が発生する可能性があるため、これらのBindingSourceのいずれかを使用する必要がありますが、MSDNの文献では、バインディングソースが何をしているのかわからなくても、またはそれがどのように機能するか。
このオブジェクトをDataSource/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
いくつかのサンプルコードは素敵です:) – Josh
私はそれが十分にはっきりしていると思っていましたが、私はすでに問題が何であるかを知っているからです。 ;)私は一緒に何かを投げるだろう。 – Frosty840
(コメントに返信) –