Toon posts:

[ASP.net] Listbox remove items

Pagina: 1
Acties:
  • 33 views sinds 30-01-2008

Verwijderd

Topicstarter
Ff een probleempje met mijn ASP.net projectje..

Ik heb 2 listbox naastelkaar staan met 2 knoppen er tussen om de items van de linker naar de rechter te krijgen en andersom. Hiervoor heb ik de onderstaande functie geschreven:

code:
1
2
3
4
5
6
7
8
9
    Private Sub toevoegen(ByVal listbox1 As System.Web.UI.WebControls.ListBox, ByVal listbox2 As System.Web.UI.WebControls.ListBox)
        Dim li As ListItem
        For Each li In listbox1.Items
            If li.Selected Then
                listbox2.Items.Insert(0, New ListItem(li.Text, li.Value))
                listbox1.Items.Remove??????????????????????
            End If
        Next li
    End Sub


Nu Lukt het mij alleen niet om een item te verwijderen van listbox1... ik neem aan dat het zo ongeveer gaat:

listbox1.items.remove(listbox1.selecteditem) oid ?

Het moet mogelijk zijn meerdere items tegelijk te selecteren.. dus er zullen ook meerdere items verwijderd moeten worden..

maar hoe verwijder ik een item van een listbox.. dit wil maar niet lukken :-(

  • whoami
  • Registratie: December 2000
  • Laatst online: 16:25
Van achter naar voor als je het met een for lus doet.
Ik zou eens moeten checken of het ook met een foreach werkt.

Wat de Remove method neemt als argumenten kan je ook in de help zien.
Je hebt ws een RemoveAt method die de index meeneemt van het te verwijderen item, en je hebt een Remove method die het listitem zelf meeneemt als argument.
Als je met een foreach werkt, heb je het huidige listitem (li in je foreach), en als je met een for werkt, heb je ook de index van het te verwijderen item.

[ Voor 84% gewijzigd door whoami op 05-05-2004 11:06 ]

https://fgheysels.github.io/


Verwijderd

Topicstarter
zoiets pakt ie bij mij niet:
code:
1
listbox1.Items.RemoveAt(li.Value)

En dit haalt niets uit:
code:
1
listbox1.Items.Remove(li.Value)

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:50

gorgi_19

Kruimeltjes zijn weer op :9

Je met ook of een index pakken ipv een waarde, of de item opzoeken en de hierbij gerelateerde index zoeken.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 16:25
Is li.Value de index van het listitem in je listbox? Nee.
Is li.Value het listitem object ? Nee.

https://fgheysels.github.io/


Verwijderd

Topicstarter
oh dacht dat de value in dit geval wel de index was ?:

code:
1
2
3
4
    <option value="40129">product1</option>
    <option value="40233">product2</option>
    <option value="40179">product3</option>
    <option value="40167">product4</option>


Of zit ik nu fout ?

En listbox1.Items.Remove(0) heb ik ook geprobeerd.. wordt niets verwijderd.. de 0de blijft mooi staan :S

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:50

gorgi_19

Kruimeltjes zijn weer op :9

oh dacht dat de value in dit geval wel de index was ?:
Heb je dan 40129 items in je listbox zitten? :?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 16:25
Er is ook geen list-item object '0' iin je listbox.

Doe eens dit:
code:
1
listBox1.Items.RemoveAt (0);

of
code:
1
listBox1.Items.Remove (li);

:Z

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:50

gorgi_19

Kruimeltjes zijn weer op :9

Goed, en vanaf nu gaan we blijven herhalen wat er eigenlijk allemaal in de handleiding staat. Een ListItemObject is niet gelijk aan de waarde die het evt. vertegenwoordigd. En dit is weer niet gelijk aan een index. :)

Zie MSDN voor voorbeelden en verdere uitleg.
http://msdn.microsoft.com...listcontrolclasstopic.asp

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1

Dit topic is gesloten.