Вниз
Скачать: CL | DM;

TDBGrid - номер текущей записи и всего записей в таблице   Найти похожие ветки 

 
Express   (2006-04-25 16:20) [0]

Здравствуйте!
Возникла такая задумка выводить номер текущей записи и сколько всего записей в таблице, для отображения записей использую компонент TDBGrid.

StatusBar.Panels.Items[0].Text :="№ текущей записи: "+IntToStr(DBGrid.DataSource.DataSet.RecNo);
StatusBar.Panels.Items[1].Text :="Всего записей: "+IntToStr(DBGrid.DataSource.DataSet.RecordCount);  

Необходимо чтобы при перемещение по строкам текущая информация обновлялась, в какое событие TDBGrid необходимо поместить данный код????

Или подскажите, как это можно еще сделать??


 
Плохиш ©   (2006-04-25 16:40) [1]

OnAfterScroll набора данных, не TDBGrid.


 
Express   (2006-04-25 16:48) [2]

Большое спасибо!


 
Desdechado ©   (2006-04-25 18:48) [3]

RecNo и RecordCount работает далеко не для всех источников данных


 
MsGuns ©   (2006-04-26 13:32) [4]

>Плохиш ©   (25.04.06 16:40) [1]
>OnAfterScroll набора данных, не TDBGrid.

Еще TDataSet.OnAfterOpen, TDataSet.AfterRefresh и TDBGrid.OnEnter

>Desdechado ©   (25.04.06 18:48) [3]
>RecNo и RecordCount работает далеко не для всех источников данных

Для двунаправленных курсоров работают. Для RecordCount после открытия надо сразу давать Last, First (при TDataSet.DisableControls) или FetchAll и не тянуть в датасет тучу записей с сервера, иначе будет тормоз при переоткрытиях


 
Рустем ©   (2006-04-26 14:57) [5]


> Express

Обработай событие OnDataChange компонента TDataSource например так:

procedure TForm.DataSourceDataChange(Sender: TObject;
 Field: TField);
begin
 with DataSource.DataSet do
 begin
   if IsEmpty
   then
     StatusBar.Panels.Items[0].Text := "(0)"
   else
     if (State = dsBrowse) and (Field = nil) then
        StatusBar.Panels.Items[0].Text := Format(" %d:%d", [RecNo, RecordCount]);
 end;
end;


 
Johnmen ©   (2006-04-26 15:09) [6]

Единственный корректный ответ [1] с учётом оговорки [3].



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.026 c
15-1149081898
Lamer@fools.ua
2006-05-31 17:24
2006.06.25
Генератор документации для .NET (C#) 2.0


3-1146332166
Express
2006-04-29 21:36
2006.06.25
ADOCommand – как перейти на следующую запись???


1-1147688524
Tempora
2006-05-15 14:22
2006.06.25
Как определить является ли папка символической ссылкой?


1-1147921256
Safarov
2006-05-18 07:00
2006.06.25
Динамические данные


2-1149582114
XTD
2006-06-06 12:21
2006.06.25
procedure TForm1.FormCreate(Sender: TObject); Параметры формы




   Наверх