TreeDataset 1.17

By Gregor Markowski

Freeware 18 Dec 2014

In category

DB-Aware Components > Direct DB Access > Memory Tables


TTreeDataset as a descendants of TMemoryDataset lets You handle tree data structures in very easy way. For example a descendant of TCustomDBGrid needs just a few methods to be overriden to work with TTreeDataset.

    main features
  • if You attach a data source then poLoadDataOnOpen in ProviderOptions lets You decide if all nodes are loaded on open; if the option is excluded then tree is builded dynamically according to the progress of node expanding
  • when dataset is filtered then You can use FilteredRecordHandling to decide if not filtered out descendants of filtered out record can be attached to the nearest not filtered out ancestor or excluded from the tree
  • in multiparent tree data structure all data is preserved on changing parent and no additional memory is allocated
  • following published properties let You adjust any visual-data aware component for TTreeDataset access
    • Depth - the level of the node; root branch starts with 0
    • HasChildren and Expanded - for correct visualization of expand buttons; by setting Expanded to True or False You can expand or collapse node
    • IsLastChild (if needed IsFirstChild as well) and IsAncestorLastChild - for drawing of tree lines; IsAncestorLastChild returns a string of 'Depth' count character indicators: 'F' for False and 'T' for True where first character indicates if ancestor on root branch is last child, and so on...

Try DEMO-exe to see an example of a random generated human population.


  • Status: Trial (work while IDE is running)
  • Source: FNC
  • Size: 1 986 017kB


  • Delphi 2006 (Win32)
  • Delphi 2007 (VCL)
  • Delphi 6
  • Delphi 7