Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.21;
Скачать: CL | DM;

Вниз

Большая таблица   Найти похожие ветки 

 
AnthreX   (2003-08-07 03:38) [0]

Проблема следующая:
Нужно отображать таблицу с большим количеством строк (более 10000) типа string и при этом иметь возможность редактировать строки. При использовании стандартных компонентов Delphi: ListView и StringGrid, процесс загрузки значений из файла длится слишком долго. В тоже время загрузка тех же значений в массив проходит практически мгновенно.
Почему компоненты Delphi так тормозят? И как с этим бороться? Может им есть какая-нибудь альтернатива?


 
Igor Popov   (2003-08-07 04:08) [1]

Они ж перерисовываются. На форуме такое уже было BeginUpdate....EndUpdate


 
AnthreX   (2003-08-08 03:19) [2]

Даже если использовать BeginUpdate....EndUpdate, всеровно работает слишком медленно.


 
y-soft ©   (2003-08-08 08:09) [3]

Вариант 1. Подгружать значения динамически по мере прокрутки. TGrid для этого не слишком удобен, а для TListWiew/TTreeView M$ предусмотрела такие возможности:

...A virtual list view is a list-view control that has the List-View Window Styles style. This style enables the control to handle millions of items because the owner receives the burden of managing item data. This allows you to use the virtual list-view control with large databases of information, where specific methods of data access are already in place.

A virtual list-view control maintains very little item information itself. Except for the item selection and focus information, the owner of the control must manage all item information. Other processes request item information from the owner by using LVN_GETDISPINFO notification messages.

Because this type of list control is intended for large data sets, it is recommended that you cache requested item data to improve retrieval performance. The list view provides a cache-hinting mechanism to assist in optimizing the cache. The hint is implemented in the form of an LVN_ODCACHEHINT notification message...


Вариант 2. Использовать TVirtualStringTree, написанный Mike Lishke - ускорение невероятное, но сразу можно прибавить к размеру EXE ~300k




Страницы: 1 вся ветка

Текущий архив: 2003.08.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
1-68257
kull
2003-08-06 10:04
2003.08.21
Работа с интерфейсами...


1-68351
Ned
2003-08-08 10:53
2003.08.21
Create и запуск формы, по наименованию типа


1-68374
AnthreX
2003-08-07 03:38
2003.08.21
Большая таблица


6-68425
w666w
2003-06-16 11:46
2003.08.21
Установка Proxy во всех открытых экземплярах IE


14-68501
Новенький
2003-08-02 18:33
2003.08.21
Откл. Вкл. интернет...