Нужно построить по ним дерево в TreeView, причём при поступлении сигнала синхронизации - было бы возможно обновить часть веток, а не всё дерево
И было бы возможно получить Id слинкованой ветви
Придумал только:
1) Рекурсивно получаем из БД списки ссылок и по ним - объекты
2) В ходе рекурсии если имеется такой линк, то он отбрасывается
3) Рекурсивно строиться дерево в TreeView, где у каждой ветке в .Tag лежит ссылка
При клике на ветку - возвращается ссылка из .Tag
Но получается, что для обновления веток с одинаковым Id, но разными ссылками - приходится перерисовывать всё дерево...
И т.к. работа с деревом организованна отдельным классом, то выплывает двойная рекурсия, что довольно не быстро
Для ссылок использовал класс
- Код: Выделить всё
Public Class TypedLink
Public Id As Integer
Public Id_Parent As Integer
Public Id_Parent_Type As Integer
Public Id_Link As Integer
Public Id_Link_Type As Integer
End Class
Всё же думаю что это унылая организация данных... Как было бы правильнее организовать данные? И как обновить все дочерние ветвления предков с определённым Id при синхронизации?