Самый лучшее в этом деле использовать cx-овы компоненты. Там на cxTreeVew есть такие поля как KeyField, ParentField, DisplayField. очень удобно работать с ними. создаешь Кверик типа
Код:
select id,parent,name
from treeview
start with id=0
connect by parent=prior id
подключаешь датасет к кверику а в компоненте используешь датасет.