Форум: "Базы";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];
Внизавтоматическая нумерация строк в 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 вся ветка
Форум: "Базы";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c