Eine Reihe von Dotnet-Framework-Komponenten verwenden eine DataSource-Komponente. Ich habe ein Objekt, das eine Reihe von Einstellungen hat, die die DataSource, die es darstellt, ändern können. Ich möchte dieses Objekt als DropDown-DataSource eines Satzes von ComboBoxen und DataGridViewComboBoxCells festlegen.Verwenden eines Objekts ohne Sammlung als DataSource
Mein Problem kommt, wenn ich versuche, das Ding tatsächlich in die ComboBox einzuhängen. Da die Änderungen an der DataSource passieren können, nachdem die DataSource festgelegt wurde, muss ich eines dieser BindingSource-Dinge verwenden, aber die MSDN-Literatur zieht ihren üblichen Streich und sagt mir, was eine bindingSource ist, ohne mir zu sagen, was sie tut oder wie es funktioniert.
Wie können Sie am besten vorschlagen, dieses Objekt als DataSource/BindingSource anzuhängen?
EDIT:
Offensichtlich ist diese Klasse Junk, aber es veranschaulicht die Art von Objekt, das ich jetzt habe.
Das meiste Timing ist momentan in der Luft, aber im Grunde zeigt das, dass meine Klasse selbst keine Sammlung ist, sondern eine solche enthält. Ich muss in der Lage sein, die DataSource-Eigenschaft einer ComboBox anzuweisen, dass hier eine flüchtige Liste zu finden ist, und dass sie diese Liste als DataSource für ihre Dropdown-Liste verwenden sollte.
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
Einige Beispielcode wäre nett :) – Josh
Ich hatte gedacht, es war klar genug, aber ich denke, das ist, weil ich bereits weiß, was das Problem ist. ;) Ich werde etwas zusammenwerfen. – Frosty840
(auf Kommentar antworten) –