|
|
|
Дерево, FIBPlus и RALib
|
|||
|---|---|---|---|
|
#18+
У меня есть таблица, представляющая древовидную структуру: Код: plaintext 1. 2. В свое время я искал компоненты для C++Builder, которые позволяли бы отображать такие данные в виде TreeView и нашел в библиотеке RALib компонет TRADBTreeView, который отлично справшяется с задачей. В какой-нибудь отдельной форме происходит заполнение таблицы новыми данными - INSERT одной строки, после чего нужно перерисовать дерево в TreeView с учетом появления нового "листика" и поставить на этот "лист" указатель. Делаю я это переоткрытием связанного с RADBTreeView датасета: pFIBDatasetTree->CloseOpen(), что выглядит в итоге некрасиво и медленно. Как можно сделать добавление "листка" в дерево без переоткрытия датасета? Может, есть альтернативы TRADBTreeView? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 09:41:10 |
|
||
|
Дерево, FIBPlus и RALib
|
|||
|---|---|---|---|
|
#18+
Вообще-то есть самый простой способ и быстроработающий - это использовать простой компонент TTreeView. И подгружать ветви по мере их открытия. Скорость офигительная и видны все изменения. И датасет всезда закрыт ... Best regards, Dnico. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 10:49:23 |
|
||
|
Дерево, FIBPlus и RALib
|
|||
|---|---|---|---|
|
#18+
Вот сообственно весь код (правда на Delphi, но суть одинакова): Код: plaintext 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. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. Best regards, Dnico. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 11:12:59 |
|
||
|
Дерево, FIBPlus и RALib
|
|||
|---|---|---|---|
|
#18+
Спасибо ) обязательно попробую ) об обычном TTreeView как-то сразу не подумал )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 12:39:58 |
|
||
|
Дерево, FIBPlus и RALib
|
|||
|---|---|---|---|
|
#18+
Есть такая штука ExpressQuantumGrid 3.2 там есть моднейшие компоненты для работы с деревьями (dxDBTreeList). Качни попробуй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 12:45:40 |
|
||
|
Дерево, FIBPlus и RALib
|
|||
|---|---|---|---|
|
#18+
Как тут любят говорить: тынц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2004, 07:45:47 |
|
||
|
Дерево, FIBPlus и RALib
|
|||
|---|---|---|---|
|
#18+
Всем спасиба! Идеально на мой взгляд подошел первый вариант с обычным TTreeView. На удивление удачно все работает! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2004, 08:44:49 |
|
||
|
Дерево, FIBPlus и RALib
|
|||
|---|---|---|---|
|
#18+
Отпиши лучше по совету Nikola18 с виртуалтривью... если хочешь пошевелить ручками или платными по совету russdk Проблема проста: кеширование ветвей при больших деревьях... иначе затык будет полным ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2004, 13:52:40 |
|
||
|
Дерево, FIBPlus и RALib
|
|||
|---|---|---|---|
|
#18+
авторПроблема проста: кеширование ветвей при больших деревьях... иначе затык будет полным ;) Так я же и привел вариант быстрого TreeView. Это работает на 12000 записях в таблице и никаких затыков ... Best regards, Dnico. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2004, 15:38:07 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32636629&tid=1578108]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
187ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 498ms |

| 0 / 0 |
