Seite 1 von 1

Listview Items löschen

Verfasst: 21.08.2007 14:44
von onny
Hi Leute ich habe folgendes Problem: Ich habe ein Listviewgadget mit #PB_ListView_Multiselect. Jetzt will ich dass man per Knopfdruck alle ausgewählten Items entfernen kann.

Code: Alles auswählen

If OpenFile(0,path$)
          itemcount = CountGadgetItems(13)
          For i = 0 To itemcount
            itemstate = GetGadgetItemState(13,i)
            If itemstate = 1
              RemoveGadgetItem(13,i)
            EndIf
          Next
        EndIf
        CloseFile(0)
Hier stellt sich allerdings das Problem dass sich die Anzahl der Items verändert wenn ich eins lösche. Und das führt dazu dass immer nur die Hälfte der ausgewählten Items gelöscht wird.
Wie kann ich das korrekt schreiben?
Danke im Voraus!

Re: Listview Items löschen

Verfasst: 21.08.2007 14:54
von Kiffi
Beim Löschen von Listenelementen immer darauf achten, die Liste von unten
nach oben zu durchlaufen:

Code: Alles auswählen

For i = itemcount To 0 Step -1
Grüße ... Kiffi

Verfasst: 21.08.2007 14:57
von onny
Ja so hab ich mir das vorgestellt! Vielen Dank!

Verfasst: 21.08.2007 15:04
von NicTheQuick
Eigentlich beginnt man auch bei itemcount - 1 und nicht bei itemcount.

Verfasst: 21.08.2007 15:30
von Kiffi
NicTheQuick hat geschrieben:Eigentlich beginnt man auch bei itemcount - 1 und nicht bei itemcount.
stibimmt. Beim Umdrehen der Werte habe ich darauf nicht geachtet.

@onny: Mitbekommen?

Grüße ... Kiffi