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

автоматическая нумерация строк в DBGrid   Найти похожие ветки 

 
John Magic   (2006-04-29 12:20) [0]

Привет всем!
В DataSet"е (ADOTable) создаю вычисляемое поле RowNomer для нумерации строк в DBGride. В событии OnCalcFields пишу строку DataSetRowNomer.Value:= DataSet.RecNo.

В гриде потом показывает на первой записи "-1" и когда перехожу на последнюю запись тоже "-1". Если перелистнуть страницу и возвратится, то все впорядке, все номера на месте. Нажимаю на скролл на самом вверху при первой записи или внизу на последней записи опять (-1).

Как правильно пронумеровать строки в DBGrid"е?


 
DimonS ©   (2006-04-29 13:05) [1]


> Как правильно пронумеровать строки в DBGrid"е?


А я не мучился так. Просто использовал DBGridEh из библиотеки EhLib, в нем самом делается столбец элементарно. Давненько, правда, было, но если есть желание, поищу код, там вроде вообще одной строкой кода делается.


 
sniknik ©   (2006-04-29 13:23) [2]

> Как правильно пронумеровать строки в DBGrid"е?
правильнее вообще не нумеровать...

еще правильнее не использовать ADOTable

и еще, тоже правильно... ;)) не завязываться на RecNo, т.к. это значение не гарантировано и притом расчетное... т.е. в одном случае неопределенное  в другом неоправданные тормоза...

по вопросу
> В событии OnCalcFields пишу строку DataSetRowNomer.Value:= DataSet.RecNo.
смени событие, на то которое попозже происходит, на onGetText у поля, напишеш там DisplayText:= IntToStr(DataSet.RecNo);


 
Express   (2006-04-29 21:43) [3]

если тебе надо получить номер текущей строки делай так:
StatusBar.Panels.Items[0].Text := "  № текущей записи: "+IntToStr(AdrEditGrid(Form.ActiveMDIChild).DBGrid.DataSource.DataSet.RecNo);

StatusBar.Panels.Items[1].Text :="  Всего записей: "+IntToStr(AdrEditGrid(Form.ActiveMDIChild).DBGrid.DataSource.DataSet.RecordCount) ;

В событие AfterScroll в таблице



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

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



Память: 0.45 MB
Время: 0.026 c
2-1149335087
Iehbr
2006-06-03 15:44
2006.06.25
DECIMALSEPARATOR


15-1149072488
Kobik..
2006-05-31 14:48
2006.06.25
спасайте горе-математика =)


3-1146031721
{Set}
2006-04-26 10:08
2006.06.25
Ошибка при подключении Таблици InterBase


2-1149512871
VitV
2006-06-05 17:07
2006.06.25
Не могу найти компоненты TSocket....


3-1146638862
G707
2006-05-03 10:47
2006.06.25
Необходимо сформировать следующий запрос




   Наверх