DGV updaten, wenn vernküpfte Combobox die Auswahl wechselt

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Nils_Kr.

    DGV updaten, wenn vernküpfte Combobox die Auswahl wechselt

    Moin,

    ich habe ein Form mit einer Combobox und einem DGV. Beide sind per Bindingsource mit einem DataSet verbunden. Die BS des DGV ist mit der der Combobox verknüpft, wodurch eine Auswahl der Combobox die dargestellten Daten des DGV anpasst.
    Wenn der Nutzer etwas auswählt funktioniert das auch ohne Probleme.

    Das Problem ist, dass es beim Start der Ansicht bereits eine Auswahl geben muss. Das Problem ist, dass das DGV nicht auf eine geänderte Auswahl der Combobox reagiert egal, ob das Control selbst oder dessen Bindingsource auf einen anderen Wert gesetzt wird.
    Hat jemand eine Idee, wie ich die BindingSource des DGV aktualisieren kann?

    Gruß
    Nils
    Option strict = on

    If it's stupid and it works it ain't stupid.
    Ich werde aus der Beschreibung schon nicht wirklich schlau. Was konkret meinst Du mit Die BS des DGV ist mit der der Combobox verknüpft?
    Ist es eine Bindingsource dann kann ich mir nichtvorstellen wo es hängt. Sind es zwei verschiedene Bindingsourcen und beide sind nicht gefiltert, dann könnstest Du einfach die Position der einen BS auf die andere übertragen.
    Oder Du puhlst Dir die ID (solltest Du irgendwas für haben) aus der einen BS heraus und suchst den Index (bs.Find) dazu in der anderen und setzt die Position auf den gefundenen Index.
    Ich steh mal wieder auf'm Schlauch. Du hast ne DataTable mit z.B. 3 Zeilen.
    ID
    Name
    -1
    Siemens
    -2
    Miehle
    -3
    Bauer

    Ein Spaltenwert wird in der ComboBox aufgelistet, also Siemens, Miehle, Bauer. Wenn Du jetzt in der ComboBox was auswählst, wird was im DGV verändert dargestellt? Oder wird dann einfach nur die passende Zeile ausgewählt? Und wenn jetzt bei Programmstart eine bestimmte Zeile festgelegt werden soll, passiert nix, sondern nur, wenn der Benutzer manuell was auswählt. Hab ich das soweit richtig verstanden?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    CBox & DGV sind jeweils mit einer Tabelle verknüpft. Die des DGV ist der der Cbox untergeordnet (1:n-Relation). Wenn die Auswahl der Cbox vom User geändert wird, werden im DGV nur Werte gezeigt, die einen Fremdschlüssel passend zur Auswahl der CBox haben. Dies wird nicht über Filter o.ä. realisiert, sondern passiert automatisch durch die BindingSource.

    Aus dem Designer der Form:

    VB.NET-Quellcode

    1. Me.FunctionalGroupBindingSource.DataMember = "FunctionalGroup"
    2. Me.FunctionalGroupBindingSource.DataSource = Me.MyDataSet 'Bindingsource der Combobox ist mit dem DataSet verknüpft
    3. Me.FcG_ErDefBindingSource.DataMember = "FK_FunctionalGroup_FcG_Erdef"
    4. Me.FcG_ErDefBindingSource.DataSource = Me.FunctionalGroupBindingSource 'Bindingsource des DGV bezieht sich auf die BS der Combobox


    Edit: Ich hab eben eine kleine Demo gebaut um das Problem zu verdeutlichen, dort hat alles wie gewollt reagiert, weshalb ich mir meinen Quellcode nochmal genauer angeguckt habe. Das Problem liegt nicht in den Bindings selbst, sondern hängt mit ein paar Anpassungen meinerseits zusammen.

    Rot nur fürs Forum-Team, Farbe wurde daher entfernt
    Option strict = on

    If it's stupid and it works it ain't stupid.

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „Marcus Gräfe“ ()