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

Вниз

Как в TListView отобразить больше 32000 записей   Найти похожие ветки 

 
leonidus ©   (2006-04-26 11:31) [0]

Есть компонент TListView в котрый загружается список слов, список может быть очень большим >100.000 слов, т.е. соответственно >100.000 итемов в TListView, так вот выяснилось что Win98 не поддерживает такое кол-во итемов, поэтому сейчас я делаю так:

dict_in:=tstringlist.Create;
ListView1.OwnerData:=false;
dict_in.loadfromfile(...)
ListView1.OwnerData:=true;

и дальше в обработчике ListView1Data загружаю ListView:

procedure TForm2.ListView1Data(Sender: TObject; Item: TListItem);
begin
Item.Caption := dict_in[Item.Index];
end;

и все бы хорошо, да вот только работа все это медленно, пока создасться  stringlist пока загрузитсявсе это дело в ListView, а потом когда окно закрывается, я пишу:
ListView1.OwnerData:=false;
dict_in.free

и тут приходится еще прилично ждать. В общем все этот как-то криво, может есть другой способ, или компонент какой нибудь?


 
Игорь Шевченко ©   (2006-04-26 11:39) [1]

Program Files\Borland\Delphi\Demos\Virtual ListView


 
leonidus ©   (2006-04-26 14:25) [2]

Блин, че-то там совсем как-то заморочено, можно чтонибудь попроще?


 
Jeer ©   (2006-04-26 14:38) [3]

Канешно - DBGrid и базонька данных, шелудивая.


 
leonidus ©   (2006-04-26 14:43) [4]

да нет, это неудобно будет, ListView смотрится очень хорошо и меня в нем все устраивает, хочется именно на его базу построить приложение


 
Котик Б   (2006-04-26 16:05) [5]

Ну конечно же можно :)
$50 - что может быть проще :)))


 
ЮЮ ©   (2006-04-27 03:50) [6]

>пока создасться  stringlist  
 так долго? :)
>пока загрузитсявсе это дело в ListView
 в ListView это не грузится, а только рисуется, значит и видеокарта слабая

 а в ListView.Items  это грузится как-то иначе?  Твой Win98, наверняка, не отличается большим объемом памяти, куда, собственно и грузятся твои >100.000 слов


 
atruhin ©   (2006-04-27 04:13) [7]


> ListView смотрится очень хорошо и меня в нем все устраивает

1. DBGrid смотрится не хуже, я бы сказал что также:)
2. ListView предназначен для отображения данных пользователю, НЕ ДЛЯ ХРАНЕНИЯ. Зачем пользователю показывать все 100000 записей, когда он их прочитает?
3. При таком объеме это задача для БД, они для того и созданы.


 
Игорь Шевченко ©   (2006-04-27 10:43) [8]

leonidus ©   (26.04.06 14:25) [2]


> Блин, че-то там совсем как-то заморочено, можно чтонибудь
> попроще?


Можно. Купи книжку по программированию для начинающих.


 
MegaVolt ©   (2006-04-28 12:31) [9]

Что именно у тебя медленно.
Сама загрузка или потом прокрутка и показ элементов?
Если всё сделал правильно то тормозить должна только загрузка.


 
Jeer ©   (2006-04-28 16:05) [10]

leonidus ©   (26.04.06 14:43) [4]

Задай себе вопрос "А на фiга пользователю предоставлять за раз 100 тыс записей ?"

Очередные грабли искаешь ?
Ну-ну, вперед.


 
MegaVolt ©   (2006-04-28 17:38) [11]

100 тыс записей видать это максимальное значение.
А если это результаты поиска. На каком числе ограничится? 5, 50, 500, 5000, ... Вот например результаты поиска mp3 по моей локалке: 20000 файлов. Ну хочется пусть ищет. Ведь это совершенно немного. Даже если название файла 100 байт то это всего 20 метров информации. Запросто показывается и прокручивается без малейших тормозов.



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

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

Наверх




Память: 0.49 MB
Время: 0.055 c
2-1147672818
Tempora
2006-05-15 10:00
2006.06.04
Как получить список папок и подпапок


2-1148015745
Loginov Dmitry
2006-05-19 09:15
2006.06.04
Image или не Image


15-1146893863
Ega23
2006-05-06 09:37
2006.06.04
С Днём рождения! 6 мая


15-1147551749
alex-drob
2006-05-14 00:22
2006.06.04
Сохранить/загрузить динамический массив


15-1146045980
MsGuns
2006-04-26 14:06
2006.06.04
Почему так много злобы ?