Een treeview control
- 15/06/2008
Voorbeeldbestanden bij dit artikel: | |
Inleiding
Het EK voetbal is in alle hevigheid losgebarsten, en mijn site heeft het geweten. Van een gemiddelde van over de 100 bezoekers per dag is het sinds dag 1 van het EK een stuk minder. Aan de statistieken te zien komen hier zeer veel Nederlanders op bezoek; ik wens hen veel succes op het EK voetbal!
Treeview
Het is nog eens tijd voor wat nieuwe code op de site. Ik dacht, laat ik eens uitzoeken hoe je code voor een Treeview maakt. Ik heb dat tot hiertoe nog nooit gebruikt, dus ook voor mij is dat nieuw. Ik heb steeds een Listbox of een Combobox gebruikt in die situaties.
Op een gebruikersformulier (userform, klik op de knop Treeview tonen) staat een Treeview. Op het hoogste niveau staan de namen van 4 ploegen: Nederland, Italië, Frankrijk, Roemenië. We zeggen dat dat de 4 nodes zijn.
Elke ploeg bestaat op zijn beurt uit meerdere nodes 1 niveau lager: dit zijn de spelers van de ploeg. De ploegnamen en spelersnamen worden opgehaald uit het werkblad, ik maak ook gebruik van een paar benoemde bereiken. Via:
NaamVanDeUserform.NaamVanDeTreeView.Nodes.Add(...)
wordt een node toegevoegd aan een hogerliggende node. De Expanded eigenschap (kan True of False zijn) geeft weer of een bepaalde node uitgeklapt is of niet.
Selecteer je een speler, dan kan je diens naam en ploeg op het blad neerzetten in de actieve cel. Niet echt fancy of wereldschokkend, maar zo hebben jullie wel de code om om te gaan met de Key van een node. Die kan je best uniek maken (hier is het ploeg en speler met een | symbool ertussen). Op het blad neerzetten gebeurt door te splitsen op het teken |.
Gebeurtenissen
Net als de andere controls kent de Treeview nog meer events of gebeurtenissen, naast het NodeClick event dat ik gebruik om de linkse knop in- of uitgeschakeld te maken. Bvb. een DoubleClick event, een Collapse en Expand event, een KeyPress event, en ga zo maar door.
Ik zou zeggen: experimenteer er eens wat mee mocht je dit nodig hebben. Succes!