Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TADOQuery и ListView [D7, Access]


Petr ©   (2003-10-23 09:22:00) 

Для вывода записей базы данных я использую TListView (TDBGrid мне не совем подходит)

TListView я заполняю так:

procedure ReadData;
var
I: Integer;
ListItem: TListItem;
begin
ADOQuery.Open;
if ADOQuery.RecordCount > 0 then
begin
ADOQuery.First;
ListView.AllocBy := ADOQuery.Record
ListView.Items.BeginUpdate;
while not ADOQuery.Eof do
begin
ListItem := ListView.Items.Add;
ListItem.Caption := ADOQuery.Fields[0].AsString;
for I := 1 to ADOQuery.FieldCount - 1 do
ListItem.SubItems.Add(ADOQuery.SubItems.Add(ADOQuery.Fields[I].AsString);
ADOQuery.Next;
end;
ListView.Items.EndUpdate;
end;
ADOQuery.Close;
end;


Записей полей в таблице около 20-25 и записей около 1000. Получается очень долго, а DBGrid отображает записи достаточно быстро. Что не так? И чем отличается FindNext от Next, из справки я ничего не понял так как английский плохо знаю.


Кулюкин Олег   (2003-10-23 09:26:00) [1]

Можно перевести ListView в виртуальный режим, а данные из TADOQuery вычитывать в список объектов.
Работает быстрок и на 10000 записей.

Виртуальный режим есть в демках.


Наверх

Титульная страница Поиск, карта сайта Написать письмо