The
TTreeListView is a combination of a TTreeView and TListView which paints a tree whose nodes can contain additional columns.
The component has (almost) all features of a tree view (like collapsing nodes, expanding, different tree lines) and of a list view (like columns, sorting, multiselection, owner drawing, alternating rows)
The visible item data is added as strings which will be managed by the ttreelistview, so you don't have to worry about memory allocation; and the view automatically supports sorting by columns and incremental searching by a search bar. However, you can also add custom data for owner drawing.
It has no external dependencies and should be able to run everywhere, no matter if you have linux/windows, gtk2/win32, 32/64-bit or Lazarus/Delphi.