![]() |
|
|
![]()
|
|
| ilya198293 |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 17.3.2007 Где: Сириус, созвездие Большого Пса Репутация: нет Всего: нет |
Нужно построить TreeView по результатам запроса из БД.
Пробовал двумя способами это сделать, сначалдо занести все данные в StringList? потом сохранить его в файл и потом TreeView считать из этого файла. Сработало достаточно быстро, но работа с лишним файлом не устраивает(хотя в крайнем случае и покатит).
Ещё один вариант:
запоминаю Item вышерасположеной ветки и добавляю как ребёнка. Причём на каждый уровень своя переменная. Работает очень долго. 3000 Item-ов создаются уже десятки секунд. А работа с глубиной дерева ещё не закончена. Сейчас глубина 3. А будет 5. Причём сумарное кол-во элементов 5-го уровня предполагается около 325000. В первом случае - это будет сохранение и загрузка промежуточного файла размером 2,5-3 МБ. Может кто-нибудь посоветует как ускорить второй метод. В SQL сортировка задаётся как нужно. Просто нужно Считать строку и в колонке где идёт отличие с предыдущей строкой ввести соответственно Item. Это сообщение отредактировал(а) ilya198293 - 26.9.2007, 08:43 --------------------
Недавно пытался объяснить сыну, кто такой модератор. Сошлись на Мойдодыре. |
||||
|
|||||
| Savek |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 355 Регистрация: 10.4.2006 Где: Воронеж Репутация: 7 Всего: 7 |
Сам не пробовал но говорят работает гораздо быстрее:
|
|||
|
||||
| Anry |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 20.4.2006 Репутация: нет Всего: нет |
Вообще не стоит загонять столько данных в дерево, слишком накладно. Лучше заполнять данные когда они тебе действительно нужны, например при событии разворота ветки. так будет быстрее работать |
|||
|
||||
| ilya198293 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 17.3.2007 Где: Сириус, созвездие Большого Пса Репутация: нет Всего: нет |
Savek, а что делать с кодом? Куда сохранить? Компилировать как компонент или просто подключать в uses-ах?
Я думал об этом, но сначало попробую вариант с загрузкой всего дерева (просто для практики). Это сообщение отредактировал(а) ilya198293 - 26.9.2007, 13:44 --------------------
Недавно пытался объяснить сыну, кто такой модератор. Сошлись на Мойдодыре. |
|||
|
||||
| Savek |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 355 Регистрация: 10.4.2006 Где: Воронеж Репутация: 7 Всего: 7 |
Дело хозяйское, но если просто подключишь в uses не забудь при создании указать родителя, а то не появится
|
|||
|
||||
| Savek |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 355 Регистрация: 10.4.2006 Где: Воронеж Репутация: 7 Всего: 7 |
ilya198293, как испытаешь, расскажи, действительно ли этот компонент так хорош
|
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
ilya198293, судя по этой строчке
RegisterComponents('Win95', [THETreeView]); это компонент Добавлено через 2 минуты и 21 секунду ilya198293, простой вопрос: поиском по форуму пользовался? http://forum.vingrad.ru/act-Search/CODE/sh...25BE/index.html а вниз этой странички заглядывал? Добавлено через 14 минут и 2 секунды вот так я когда-то строил дерево здесь 4 уровня - классы, типы, спецификация, серия это не совсем классическое дерево, где есть ID, ParentID, Value
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |