Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: List1.RemoveItem

tuomas [15.06.2004 21:42:26]

#

Miten saisin poistettua list1 olevan valitun kohdan?
Tällä lailla jo yritin:

List1.RemoveItem Selected

Tuossa on vikana se että se poistaa ylimmän eikä valittua.

Blaze [15.06.2004 21:53:28]

#

List1.RemoveItem List1.ListIndex

hunajavohveli [16.06.2004 12:13:17]

#

List1.ListIndex siis palauttaa valitun kohdan numeron (-1)

tuomas [26.06.2004 21:18:50]

#

Entä miten saisin tyhjättyä koko list boxin?

For i = 1 To List1.ListCount

    List1.RemoveItem(i)'tämä kohta bugaa
Next

Antti Laaksonen [26.06.2004 21:46:23]

#

Kaikkein helpoiten tyhjennys käy näin:

'listan tyhjennys, osa 1
List1.Clear

Tutkitaan kuitenkin vielä, mikä koodissasi oli vikana. For-silmukan väli ei ole oikea, koska listan ensimmäisen rivin indeksi on 0, ja viimeisen rivin indeksi on yhtä pienempi kuin listan rivien määrä. Tämä korjaus ei kuitenkaan yksinään riitä. Jos rivien poistamisen aloittaa ylimmästä, niin silloinhan kaikki muut rivit liikkuvat yhden askeleen ylöspäin ja samalla indeksit muuttuvat. Siksi rivit täytyy poistaa käänteisessä järjestyksessä tai sitten niin, että joka kerta poistetaan ylin rivi.

'listan tyhjennys, osa 2
For i = List1.ListCount - 1 To 0 Step -1
    List1.RemoveItem i
Next

'listan tyhjennys, osa 3
For i = 1 to List1.ListCount
    List1.RemoveItem 0
Next

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta