De gram van de Virtual(String)Tree is dat de tree zelf geen data bevat. Je bent zelf verantwoordelijk voor de achterliggende datastructuur. De tree geeft deze alleen maar weer.
Als je het voorbeeld van de Lazarus wiki gevolgd hebt, dan zie bij punt 16 dat er een record gedefinieerd wordt. Deze is alleen voor de demo, als je meer kolommen wilt of andere gegevens moet je je eigen structuur maken.
De VT bied de mogelijkheid om extra data bij een Node op te slaan. Daar is in deze demo gebruik van gemaakt. De hoeveelheid extra geheugen per node wordt in punt 20 gedefinieerd.
Wanneer je 4 ipv. 3 kolommen wilt zul je het record moeten uitbreiden en ondermeer punt 21 uitbreiden.
Als je nu de text van gegeven node voor kolom 3 wilt aanpassen:
pascal Code:
var
Data: PTreeData;
Node: PVirtualNode;
begin
Node := ... // hier code om je node te vinden
Data := VST.GetNodeData(Node);
Data^.Colum2 := 'Foo';
VST.InvalidateNode(Node);
Bookmarks