Главная страница
    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.016 c
2-1149601035
leito
2006-06-06 17:37
2006.06.25
Вывод в EXCEL


15-1149141234
07BB
2006-06-01 09:53
2006.06.25
AJAX Java SDK


11-1129408985
GMax
2005-10-16 00:43
2006.06.25
Kol v2.15


15-1148965423
Ega23
2006-05-30 09:03
2006.06.25
С Днём рождения! 30 мая


15-1149209179
Коды
2006-06-02 04:46
2006.06.25
Зачем Linux сделали несовместимым с программами под Виндос?





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