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

Вниз

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 вся ветка

Форум: "Базы";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.01 c
15-1148836161
Efir
2006-05-28 21:09
2006.06.25
Эфиродинамика


2-1149741898
Roman80
2006-06-08 08:44
2006.06.25
RichEdit на последнию строку.


3-1146133045
linx
2006-04-27 14:17
2006.06.25
Получить значение генератора


2-1149347708
AlexanderMS
2006-06-03 19:15
2006.06.25
Показывать амперсанд (&)


2-1149278751
Vitv
2006-06-03 00:05
2006.06.25
Ошибка при создании потока!!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский