Форум: "Основная";
Текущий архив: 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.046 c