Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
EHLib выборка из дерева всех SUB уровней активного уровня
|
|||
|---|---|---|---|
|
#18+
EHLib решает много проблем, но есть вопрос, чтобы не городить рекурсивный запрос и не бегать по узлам, я думал, что может есть функция о которой я не знаю и так есть дерево в EHLib 1. 1.2 1.3 2. 2.1. 2.2. 2.2.1. 2.2.2. 2.2.2.1 3. 3.1. 4. как пример. мне нужно вытащить из нее узел 2.2. со всеми под узлами т.е. получить ID строки из этого списка 2.2. 2.2.1. 2.2.2. 2.2.2.1 P.S: сейчас у меня две базы MariaDB и MSSQL, поэтому я не хочу это делать на уровне баз до этого я использовал Oracle и такую задачу я решал просто, все ну или почти все было на сервере приложений, там был рекурсивный запрос который строил деревья, и также вытаскивал содержимое любого узла и возвращал строку клиенту. это было быстро и удобно. но в MariaDB такая аналогия работает как то не очень, в MSSQL тоже. поэтому я решил попробовать чуть изменить решение, собрать в самом компоненте. как вытащить нужный мне узел средствами компонентов EHLib ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2021, 23:54 |
|
||
|
EHLib выборка из дерева всех SUB уровней активного уровня
|
|||
|---|---|---|---|
|
#18+
yemets63, в режиме "дерево" данные грида TDBGriidEh хранятся в экземпляре TMemTableEh. См. документацию по данному компоненту, раздел "Режим хранения записей в виде дерева (TreeView)". Коротко: у TMemTableEh в режиме дерева текущая запись представлена свойством Код: pascal 1. А у свойства TMemRecViewEh есть все необходимое: TreeNodeLevel TreeNodeHasChildren TreeNodeChildCount и - NodeItems[const Index: Integer]: TMemRecViewEh Например. Открываем демку Demos\TreeView, бросаем на форму батон2 и добавляем код: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. Результат: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2021, 01:54 |
|
||
|
EHLib выборка из дерева всех SUB уровней активного уровня
|
|||
|---|---|---|---|
|
#18+
ъъъъъ, спасибо, я сделал проще, в пять строк, так как все под узлы имеют TreeLevel больше, чем узел на котором курсор, и я иду вниз по дереву по записям копии MemTable. Но это все равно бежать по циклу, в жизни конечно у меня не было деревьев более 1000 записей, но он все равно бежит по циклу. поэтому и спросил вчера. P.S. Конечно вряд ли, но если представить, что это 100000 записей и он побежал собирать IDшники. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2021, 14:49 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40080628&tid=2037217]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
167ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
| others: | 14ms |
| total: | 269ms |

| 0 / 0 |
