Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для 6_2_xe_novichek
8 / 8 / 3
Регистрация: 19.09.2012
Сообщений: 40

Как максимально ускорить отображение данных в TreeView?

29.10.2017, 11:04. Показов 948. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго дня!

Искал в этом разделе, сталкивался ли кто-нибудь с подобным, что-то не нашёл такой темы.

Уважаемые эксперты, те, кто светел в этой теме, дайте озарение пожалуйста тому, кто темен ещё с TreeView...

У меня стоит ХЕ4, раньше использовал BCB 6.0, проблем не было с этим вообще: быстро, чётко. В ХЕ4, тот же принцип заполненеия, что и ВСВ 6.0, идёт хорошо, в смысле без ошибок, но вот заполняется TreeView очень медленно.

У меня несколько TreeView расположенных в TabControl. Вот, решил заполнить один TreeView и приложение зависло, в чём дело, не пойму.

Код заполнения следующий:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Site *site;
Child *child;
TTreeView *curTV;
TTreeNode *t1, *t2;
...
curTV->Visible=false;
curTV->Items->BeginUpdate();
for (unsigned int i=0;i<itsSites.size();i++)
{
    site=itsSites[i];
    t1=curTV->Items->Add(NULL,"");
    t1->Data=site->itsName.c_str();
    for (unsigned int j=0;j<site->itsChilds.size();i++)
    {
        child=site->itsChilds[j];
        t2=curTV->Items->AddChild(t1,"");
        t2->Data=child->itsName.c_str();
    }
}
curTV->Items->EndUpdate();
curTV->Visible=true;
про BeginUpdate()/EndUpdate(), выключение/включение отображения TreeView при заполнении и добавления названия узлов и лепестков после создания прочитал на одном сайте, но что-то не помогает, как ни странно.

Может надо ещё что-нибудь выключить/включить?

Заранее благодарен.

С уважением,

Добавлено через 22 минуты
"%*?АФщшфжа-:!!!"

Нашёл глюк, второй цикл по I инкрементируется, а должен по J...
Кстати, вариант с Data - ерунда, вставляйте String как есть, при создании Node.

Всем удачи!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.10.2017, 11:04
Ответы с готовыми решениями:

Virtual Treeview отображение данных
Всем привет! Мне необходимо построить редактируемое дерево с динамическим количеством строк и столбцов, решил использовать Virtual...

Как можно ускорить попадание данных в БД Access?
Как можно ускорить попадание данных в БД Access?

Как максимально ускорить Windows7?
Здравствуйте!Подскажите пожалуйста: Мне нужно чтобы Windows загружался максимально быстро на нетбуке,по сути на нем будет запускаться...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.10.2017, 11:04
Помогаю со студенческими работами здесь

Как максимально ускорить программу в MVS?
Есть программа с кучей массивов и циклов, выполняется 30 секунд, нужно 10-. Какие есть способы встроенной оптимизации по времени в visual...

Как ускорить работу TreeView?
При большом количестве элементов (5 тыс.) поиск по дереву, например, по значению свойства узла Text, стал намного дольше, чем создание...

TreeView. Как ускорить построение дерева
Источник данных: - БД MSAccess; Таблица - &gt; 1 000 000 записей; Поля таблицы см. скрин; Количество корневых узлов - ~100 штук; ...

Как ускорить работу TreeView (мерцание при скроллинге)
При пролистывании TreeView (а там очень много элементов), возникают мерцания, как будто дерево обновляется (прорисовывается), жутко...

Отображение данных из MS SQL в TreeView
Здравствуйте! Прошу помочь. Есть БД из нескольких таблиц. Надо их отобразить в дереве TreeView. Я новичок в программировании, поэтому...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru