I have a list of objects populated from a third-party project file. The way this file was designed is that each element is at the "level" of the hierarchy. So, the very first element is at level 0, all its children are at level 1, etc.
As an example:
1. Node 1 (Level 0) 2. Node 1.1 (Level 1) 3. Node 1.2 (Level 1) 4. Node 1.3 (Level 1) 5. Node 1.3.1 (Level 2) 6. Node 1.4 (Level 1) 7. Node 2 (Level 0) 8. Node 2.1 (Level 1) 9. Node 2.1.1 (Level 2) 10. Node 3 (Level 0)
This will lead to the creation of such a hierarchy:
- Node 1 --- Node 1.1 --- Node 1.2 --- Node 1.3 ----- Node 1.3.1 --- Node 1.4 - Node 2 --- Node 2.1 ----- Node 2.1.1 - Node 3
My problem is how to populate this structure in a TTreeView VCL based on these "Level" properties for each listed object. If I developed this third-party file structure, I would use the parent property instead of the level property.
The objects in this list can be repeated as follows:
var I: TMyItem; N: TTreeNode; begin for X := 0 to MyList.Count - 1 do begin I := MyList[X]; //TMyItem has property "Level" which specifies hierarchy // as well as "Title" property for the node caption //How to create node based on Level? N.Data := I; end; end;
Based on this structure, how do I populate this in a tree view?
delphi hierarchy treeview
Jerry dodge
source share