Номер текущей записи

У меня возник такой вопрос,как показывать порядковый номер записи в бд? То есть чтобы в Label'e отображался порядковый номер записи на которой стоит указатель,фокус в DBGrid. Знаю что вTable можно использовать процедуру RecordCount,которая подсчитывает кол-во записей в таблице. Есть ли процедура для подсчета номера текущей записи и на какое событие ее лучше подключить(переключение навигатора,click на DBGrid)?
5 ответов

А есть ли у Вас DBGridEh?


Не нашел такого копонента.У меня на форме DataSource Table DBGrid DBNavigator.Ну понял, DBGridEh это как таблицы в excel. А собственно процедуры чтоб показывала номер текущей записи нет?Просто хотелось бы через обычный Grid это все осуществить.


Выводишь данные в DBGRid с помощью ADOQuery или ADOTable с использованием DataSource. Делаешь обработчик события OnCellClick у DBGRid:
Label1.Caption:= IntToStr(ADOQ1.RecNo); //ADOQ1 - это ADOQuery


Используй у DataSource событие onDataChange:
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin if DataSource1.DataSet.State = dsBrowse then Label1.Caption:= IntToStr(Table1.RecNo);
end;


Label1.Caption:= IntToStr(ADOQ1.RecNo); //ADOQ1 - это ADOQuery
Дополню, с вашего позволения :
Label1.Caption := IntToStr(rs.RecNo) + ':' + IntToStr(rs.RecordCount);