![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как программно узнать колическто строк в 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... ;)