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

Вниз

TADOQuery и ListView   Найти похожие ветки 

 
Petr   (2003-10-23 09:22) [0]

Для вывода записей базы данных я использую 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) [1]

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

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



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

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

Наверх




Память: 0.46 MB
Время: 0.026 c
4-42229
LG
2003-08-31 20:13
2003.11.13
Как создать окно(панель) типа как TaskBar


4-42220
_ShiFT_
2003-09-02 21:17
2003.11.13
Как на чистом АПИ написать аналог функции ProcessMessages


14-41979
Alex_S
2003-10-17 19:33
2003.11.13
Какой размер буфера в виндосе??7


1-41557
lipskiy
2003-10-24 00:15
2003.11.13
Как вызвать стандартный диалог выбора папки?


1-41241
Ganjo
2003-10-30 21:09
2003.11.13
StringGrid