List(of String) mit Bindingsource an Controls binden [Edit]

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von Eistee.

    List(of String) mit Bindingsource an Controls binden [Edit]

    Hallo,

    [Sinloser Text wurde gelöscht]


    So, nochmal:

    - Es gibt eine String Liste welche immer wieder bearbeitet wird.
    - Diese Strings aus der Liste sollen in 3 Comboboxen zur auswahl stehen.
    - Die Auswahlmöglichkeiten der Comboboxen sollen automatisch aktualisiert werden (Da die String Liste ja immer wieder bearbeitet wird).

    Das mach ich im Moment durch eine BindingSource:

    VB.NET-Quellcode

    1. ListeXY(of String)
    2. Bindingsource1 As New BindingSource
    3. Bindingsource1.DataSource = ListeXY
    4. Combobox1.DataSource = Bindingsource1.DataSource
    5. Combobox2.DataSource = Bindingsource1.DataSource
    6. Combobox3.DataSource = Bindingsource1.DataSource


    - Nur das die getroffene Auswahl in einer der 3 Comboboxen, nicht durch die BindingSource an die anderen 2 Comboboxen weitergegeben werden soll.

    Hoffe das ganze ist so etwas verständlicher ausgedrückt.

    Edit by nikeee13:
    Kein Ding, Thread verschoben.

    Dieser Beitrag wurde bereits 8 mal editiert, zuletzt von „Eistee“ ()

    War auch mein erster gedanke aber so unglaublich das klingt, es ändert sich nichts.
    Es wird weiterhin des Selektierte Element übergeben. Irgendwo muss da ein Fehler sein.

    VB.NET-Quellcode

    1. ListeXY(of String)
    2. Dim Bindingsource_A, Bindingsource_B, Bindingsource_C As New BindingSource
    3. Bindingsource_A.DataSource = ListeXY
    4. Bindingsource_B.DataSource = ListeXY
    5. Bindingsource_C.DataSource = ListeXY
    6. Combobox1.DataSource = Bindingsource_A.DataSource
    7. Combobox2.DataSource = Bindingsource_B.DataSource
    8. Combobox3.DataSource = Bindingsource_C.DataSource

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Eistee“ ()

    Zum Beispiel:

    Strings die zur Auswahl stehen: Haus, Baum, Auto, Giraffe
    Default aus wahl der 3 Comboboxen ist: Haus.

    Wählt man jetzt in der Combobox3 die "Giraffe" aus.
    Wird die Auswahl an Combobox1 und Combobox2 übergeben und die beiden wählen auch Giraffe aus.

    Und das obwohl jetzt 3 verschiedene BindingSources verwendet werden.
    1. Neues WinForms Pojekt öffnen.
    2. 3 Comboboxen auf die Form ziehen.
    3. Form Code anzeigen und Code ersetzen.
    4. Ausführen.

    (Mann muss keine Namen ändern oder ähnliches)

    VB.NET-Quellcode

    1. Public Class Form1
    2. Dim StringListe As New List(Of String)
    3. Dim Bindingsource_A, Bindingsource_B, Bindingsource_C As New BindingSource
    4. Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    5. StringListe.Add("Haus")
    6. StringListe.Add("Baum")
    7. StringListe.Add("Auto")
    8. StringListe.Add("Giraffe")
    9. Bindingsource_A.DataSource = StringListe
    10. Bindingsource_B.DataSource = StringListe
    11. Bindingsource_C.DataSource = StringListe
    12. ComboBox1.DataSource = StringListe
    13. ComboBox2.DataSource = StringListe
    14. ComboBox3.DataSource = StringListe
    15. End Sub
    16. End Class


    oder Downloaden:
    Dateien

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Eistee“ ()

    Ein fehler der mir passiert ist, weil ich mich zu sehr beeilt habe.
    Eigentlich sollte da "Bindingsource_A.DataSource" stehen.

    Was aber auch falsch ist (da haben wir es!), denn es muss nur "Bindingsource_A" heißen.
    So läuft es wie es soll.

    Danke & schönen Abend noch.