Toon posts:

[VB.NET] ListView

Pagina: 1
Acties:

Verwijderd

Topicstarter
Mensen in mijn programma gebruik ik een listview, echter ik ondervind hier enkele problemen mee...
Ik gebruik de listview om diverse gegevens netjes naast mekaar te showen, echter het probleem is dat ik wil dat de gegevens aangeklikt kunnen worden en dan ik daar verder mee kan werken.

Bij andere propertys kan je .value of .text doen, en dan krijg je de waarde van die property (die hij op dat moment heeft).
Het blijkt dus dat de listview deze dus niet heeft.

Weet iemand hoe je de gekozen optie (het liefste de waarde uit de eerste kolom) kan plaatsen in een variable zodat ik daar verder mee kan werken (als pointer) ?

Verwijderd

Ik weet niet zeker of dat ik VB.Net ook zo is, maar in VB6 had je een Itemdata property. Iets in de trand van Listview1.Itemdata(index) = "bladiebla". Index is dan het nummer van de ingang in de list waarbij de eerste ingang 0 is, de tweede 1 enzovoorts.

Als je het helemaal makkelijk wilt maken doe je na elke entry een
code:
1
Listview1.Itemdata(ListView1.NewIndex) = "bladiebla"


Daarna kan je natuurlijk de gebruikte index index opvragen met iets als:
code:
1
2
3
Private sub Listview1_Click ()
info = Listview1.ItemData(Listview1.ListIndex)
end sub


zodat info dat indexnummer bevat. Nu kan je dus met dat indexnummer de itemdata terugvragen zodat je de "bladiebla" in een variabele kan stoppen.

Maar dit is VB6, probeer het eens zou ik zeggen

Verwijderd

Topicstarter
ik heb inmiddels het probleem opgelost samen met een collega, het probleem zat ook in een hele andere hoek dan dat ik had verwacht.
in ieder geval for-the-record heb ik hier de code waarmee hij mij heeft geholpen:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
        Dim i As Integer
        ' make sure there are selected items
        If ListView1.SelectedIndices.Count <> 0 Then
            ' step through each selected item
            For Each i In ListView1.SelectedIndices
                Dim s As String
                ' output the column contents
                s = ListView1.Items(i).Text & " " & _
 ListView1.Items(i).SubItems(1).Text & " " & _
 ListView1.Items(i).SubItems(2).Text
                MessageBox.Show(s)
            Next
        End If

[ Voor 12% gewijzigd door Verwijderd op 10-09-2004 09:27 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 16:52
Een ListView heeft een SelectedItems property, waar je door kan loopen.

https://fgheysels.github.io/