ListBox "cleart" nicht richtig

Grunge

Erfahrenes Mitglied
Hallo,

ich habe folgendes Problem:
auf einer Form habe ich einen Treeview und eine Listbox, wenn ein ELement aus dem Treeview ausgewählt wird, soll die Listbox mit Werten aus der DB gefüllt werden. Das funktioniert auch prinzipell - jedoch "merkt" sich mein Programm die einmal gespeicherten Daten und ruft sie beim erneuten rückwechsel wieder auf, und fügt sie gleichzeitig nochmal hinzu, so dass die Liste im länger wird, obwohl in der DB eigentlich nicht mehr drinne steht !?

Code sieht wie folgt aus:
Code:
 Private Sub cats_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles cats.AfterSelect
sqlQRY = "SELECT * FROM action WHERE tier='" & animalid & "' AND owner='" & id & "'"
        conn = New MySqlConnection(cnString)
        conn.Open()
        da = New MySqlDataAdapter(sqlQRY, conn)
        da.Fill(ds, "action")
        conn.Close()
        Me.ListBox1.Items.Clear()


        For i = 0 To ds.Tables("action").Rows().Count - 1

            If ds.Tables("action").Rows(i).Item(1) = animalid Then


                Dim datum As String
                Dim datum2 As String
                datum = ds.Tables("action").Rows(i).Item(5)
                datum2 = datum.Substring(0, 2) & "." & datum.Substring(3, 2) & "." & datum.Substring(6, 4)

                ListBox1.Items.Add(datum2 & " - " & ds.Tables("action").Rows(i).Item(2) & " - " & ds.Tables("action").Rows(i).Item(4))
            End If

        Next

end sub
"cats" is mein treeview
 
Hallo Grunge,

in deinem Code sehe jetzt keinen Fehler. Du solltest mal überprüfen, ob der Eventhandler nicht vielleicht mehrfach aufgerufen wird. Evt. wird er irgendwie noch mal registriert.


Gruß
MCoder
 
Ne das passiert nicht - deswegen wunderts mich ja!
das gleiche passiert auch bei meinem chart das sich auch jedesmal neu zeichnet nach wechseln eine TV eintrages. Keiner einer Idee?
 
Zuletzt bearbeitet:
Und wo setzt du das DataSet zurück???
Probier mal
Code:
Private Sub cats_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles cats.AfterSelect
sqlQRY = "SELECT * FROM action WHERE tier='" & animalid & "' AND owner='" & id & "'"
        // Bevor die Zuweisung erfolgt das DataSet zurücksetzen
        ds = new Dataset();
        conn = New MySqlConnection(cnString)
Lg
ksk
 
Zurück