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

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

Как программно узнать колическто строк в DBGride? [D5, Paradox]


Art1 ©   (2002-04-17 16:31:00) 

Как программно узнать колическто строк с данными в DBGride?


Lusha   (2002-04-18 09:25:00) [1]

>sniknik © (17.04.02 19:18)
функция другая результат тот же.

Не всегда... RowCount в отличие от VisibleRowCount возвращает количество строк в гриде с учетом фиксированных. Так что при наличии заголовков колонок (Titles) в TDBGrid они вернут разные значения...


>Art1 (17.04.02 19:07)
Ведь TCustomGrid является родителем TDBGrid "второго поколения" (не знаю как это правильно назвать).

Дедушка... ;)


sniknik   (2002-04-17 19:18:00) [2]

не ты все перепутал, делай именно так как написано
абсолютно рабочий код

Label1.Caption:= IntToStr(TMyDBGrid(DbGrid1).RowCount);

здесь DbGrid1 это тот грид что на форме лежит. :) функция другая результат тот же.

тип определен
type
TMyDBGrid = class(TDBGrid);


Art1   (2002-04-17 19:07:00) [3]

Lusha мне наверное ответил правильно. Мне именно нужно то, что Вы назвали "пальцами потыкать и пересчитать". Т.к. форма у меня bsSizeable, а вместе с нею в onResize я меняю размеры DBGrid-а, но после этого мне нужно знать количество строк с данными, которые сейчас выведены Grid-ом на экран. Исходя из Вашего примера должно работать так:
i:=DBGrid1(TCustomGrid).VisibleColCount;
но оно ре работает.
Ведь TCustomGrid является родителем TDBGrid "второго поколения" (не знаю как это правильно назвать).
Что мне делать?


sniknik   (2002-04-17 18:45:00) [4]

определи тип
type
TMyDBGrid = class(TDBGrid);

в процедуре пишеш
Per:= TMyDBGrid(DBGrid1).VisibleRowCount;

у Lusha своеобразное чуство юмора ....
это тебе даст сколько строк в DBGrid1 (столько скоко отображается) так что можеш просто пальцем потыкать и пересчитать :-)
см. предыдущее от Desdechado.


Desdechado   (2002-04-17 18:35:00) [5]

так идет речь о видимых строках или всех строках, которые можно увидеть (со скроллингом) в гриде?
если второе, то надо опираться на подлежащий датасет.


Art1   (2002-04-17 18:15:00) [6]

Простите за то, что надоедаю наверное с элементарными вопросами, я только учусь программить.
Но ведь VisibleRowCount является свойством TCustomGrid. Как его вызвать из DBGrid? Такое не проходит:
i:=DBGrid1.VisibleRowCount


Lusha   (2002-04-17 16:37:00) [7]

VisibleRowCount... ;)


Наверх

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