Bindingsource_Filter ??

  • VB.NET
  • .NET (FX) 4.0

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von echnaton.

    Bindingsource_Filter ??

    Hallo. Ich hab da mal eine Frage, bin schon am verzweifeln
    folgendes Problem.

    Habe in der DB(access) 2 Tabellen. (Pass, Prog)
    Die tabelle "Pass" ist an einer Combobox gebunden.
    Die Tabelle Prog ist ebenfalls gebunden und wird im datagridview angezeigt.

    VB.NET-Quellcode

    1. Private Sub cmb_Prog_SelectedIndexChanged(sender As Object, e As EventArgs) _
    2. Handles cmb_Prog.SelectedIndexChanged
    3. Me.PassBindingSource.RemoveFilter()
    4. Me.PassBindingSource.Filter = "Programm = '" & cmb_Prog.Text & "'"
    5. End Sub


    Bei klick auf ein Item in der Combobox soll ein filter zum Einsatz kommen.
    Siehe code oben.

    Das funktioniert auch. Allerdings nur einmal. danach kommt nur noch wirres zeug in die Combobox.
    zb. In der combobox stehen 4 item zur Auswahl

    LB1
    LB2
    LB3
    LB4

    wähle ich nun "LB2" aus, wird richtig gefiltert.Wird auch sauber im DGV angezeigt.
    möchte Ich allerdings danach LB1 auswählen ist der eintrag verschwunden,dann steht in der combo
    LB3
    Lb4
    LB4
    Lb3
    habe gedacht es liegt event. an der Bindungsource, deshalb hab ich die Bindungsource mal geresettet. Aber daran hat es nicht gelegen

    VB.NET-Quellcode

    1. Me.PassBindingSource.ResetBindings(False)



    weiss da nun nicht mehr weiter. Kann mir da jemand helfen?

    SA
    Nee, hab das schon zig mal kontrolliert. da ist alles OK
    Bei Programmstart sind die 4 Einträge ja auch richtig vorhanden.
    Bei click auf einem Eintrag in der Combo wird im DGV auch alles normal angezeigt
    erst bei der Zweiten Auswahl fehlt der erste eintrag dafür ist ein anderer doppelt in der Combo.

    ich werd mal drüber schlafen.
    Morgen mache ich wohl alles neu. Im Designer sind das ja nur ein paar Mausclicks.
    Trotzdem Ärgerlich wenn man nicht weiss woran das liegt

    VB.NET-Quellcode

    1. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    2. Me.ProgTableAdapter.Fill(Me.PasswortDataSet.Prog)
    3. Me.PassTableAdapter.Fill(Me.PasswortDataSet.Pass)


    VB.NET-Quellcode

    1. Me.ProgBindingSource. (Combo)
    2. Me.PassBindingSource. (Daten)
    Naja, vielleicht ist die Combo falsch eingerichtet.
    Das darf man nicht den Designer machen lassen, der bindet immer die Text-Property und das ist falsch.
    Man muss selbst eine ungebundene Combo aufs Form machen, und DataSource und DisplayMember einstellen.
    Mehr darfst du nicht einstellen an einer Combo, die nur einen Filter-String bestimmen soll.