Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];

Вниз

Как в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.065 c
3-1144930044
RomanH
2006-04-13 16:07
2006.06.04
Использование User Defined Functions


2-1147787382
Mahab
2006-05-16 17:49
2006.06.04
thread


2-1147947986
KyRo
2006-05-18 14:26
2006.06.04
Как Можно удалить файл ?


2-1147794211
AlexanderMS
2006-05-16 19:43
2006.06.04
Проблема с чтением с помощью TFileStream


6-1139136992
parovoZZ
2006-02-05 13:56
2006.06.04
SQL и время с датой





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский