Нужен работающий пример кода в Lazarus. Связь БД и дерева.

Сергей19 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
25.03.2016

Среда программирования - Lazarus.

Необходимо написать кусок кода для отображения в TVirtualTreeView базы данных в виде раскрывающегося дерева.

В настоящее время имеется БД PostgreSQL с компонентом LTREE, в котором есть таблица с иерархической структурой в виде:

  • ID - счётчик (longint)
  • ParentID - указатель на родительский ID (longint)
  • Name - наименование объекта (строка)
  • Path - путь. см. https://habrahabr.ru/post/130371/  (строка) (пример пути уточняю)
От программы требуется:

  • В начале работы вывести первый уровень
  • При раскрытии вывести следующий уровень для раскрываемого объекта и так далее
  • При изменении объекта (вызов контекстного меню или дополнительная кнопка) необходимо вывести диалог для изменения информации. После попытки сохранить изменения необходима проверка на дубликат в этом родителе (т.е. предусмотреть наличие дубликатов, но в пределах одного родителя дубликаты не существуют)
  • Необходимо предусмотреть возможность создания нового узла (не корневого) при вызове контекстного меню или дополнительной кнопкой. После попытки сохранить изменения необходима проверка на существование дубликата в пределах родителя.
  • Все изменения внести в БД и обновить информацию в дереве.
Программа должна компилироваться и запускаться без проблем. Комментарии - приветствуются, но не обязательны.

Заявки фрилансеров