Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

порядковый номер строки в дб гриде [D6, Win2k]


StarCon ©   (2004-09-08 09:20:00) 

как сделать счетчик строк первой колонкой в дб гриде?
пробовал через событие DrawColumnCell:
 if Column.FieldName = 'ROWNUM' then begin
   DeviceOrdList.Canvas.FillRect(Rect);
   DeviceOrdList.Canvas.TextOut(Rect.Left+1,Rect.Top+2,InttoStr(DataSources.DataSet.Recno));
 end;
не получается, RecNo возвращает -1 (используется BDE TQuery)


sniknik   (2004-09-08 11:06:00) [1]

> У грида есть св-ство Row
получится только если записей в рекордсете меньше чем в грид влазит. (когда все видно и листать не приходится)
особенность дбгрида, строк ровно сколько сколько видно (иногда на одну больше - если со шрифтами игратся rowcount сбивается).


KSergey   (2004-09-08 10:51:00) [2]

У грида есть св-ство Row
Ну там protected и все такое, но можно на нем попробовать поиграть


Ega23   (2004-09-08 10:15:00) [3]

RecNo в ClientDataSet работает.


StarCon   (2004-09-08 09:56:00) [4]

мда... CalcField конечно хорошо, да вот вычислять не представляется возможным, а RecNo не работает, как я уже говорил
похоже придется через sql как-то решать...


Ega23   (2004-09-08 09:42:00) [5]

SQL-запросом тоже не получается

А я и не говорил, что там всё просто.


StarCon   (2004-09-08 09:28:00) [6]

SQL-запросом тоже не получается
делаю порядковый номер - select rownum, * from ....
но стоит добавить order by - и порядок нумерации нарушается

CalcField сейчас посмотрю - не использовал ни разу, спасибо!


Ega23   (2004-09-08 09:22:00) [7]

1. Можно в DataSet при SQL-запросе добавить.
2. Можно сделать вычисляемое поле, и в OnCalcField его считать.
3. Наверняка ещё варианты есть.

Мне больше по душе 1, хотя с ним гемора больше.


Наверх

Титульная страница Поиск, карта сайта Написать письмо