Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.14;
Скачать: CL | DM;

Вниз

Количество строк в DBGrid   Найти похожие ветки 

 
Alex Freeman   (2002-10-25 14:31) [0]

Как можно узнать, сколько строк выведено в данный момент в DBGrid? Если можно, с примером!


 
stone ©   (2002-10-25 14:35) [1]

DBGrid служит для работы с датасетом. Поэтому количество строк в гриде равно количеству строк в датасете т.е.

Table1.RecordCount


 
Johnmen ©   (2002-10-25 14:55) [2]

>stone © (25.10.02 14:35)

Повнимательней... >сколько строк выведено в данный момен...

>Alex Freeman

Был такой вопрос...Вот только ответ сходу не приведу....


 
stone ©   (2002-10-25 15:00) [3]

> Johnmen ©
что значит в данный момент?
Датасет содержит фильтры? или есть другие условия?


 
Anatoly Podgoretsky ©   (2002-10-25 15:02) [4]

Как минимум RecordCount содержит уже количество отффеченных срок к данному моменту, а может здесь вообще имеется ввиду количество видимых строк в dbGrid, а может еще что


 
Johnmen ©   (2002-10-25 15:24) [5]

Я понимаю вопрос, как количество видимых строк в dbGrid.
А как автор ?


 
MsGuns ©   (2002-10-25 15:30) [6]

>Johnmen © (25.10.02 15:24)

Я понял так же. И мне также интересно узнать решение этой проблемы. Пока я знал только про один метод - через канву, но он довольно муторный и мне не нравится.


 
Darts   (2002-10-25 15:34) [7]

Наверное, приблизительно так, если число записей > числа видимых строк
VisibleRows := DBGrid1.Height div Row.Height,

где Row.Height - высота строки грида.


 
Johnmen ©   (2002-10-25 15:40) [8]

>MsGuns © (25.10.02 15:30)

Неск.месяцев назад был очень понравившийся мне ответ.
Если вспомню (надо поковыряться в исходниках), то скажу.
:)))))))))0


 
Delirium ©   (2002-10-25 15:42) [9]

DBGrid1.SelectedRows.Count


 
Darts   (2002-10-25 15:57) [10]

> Delirium

Не работает.


 
MsGuns ©   (2002-10-25 16:03) [11]

>Darts (25.10.02 15:57)

Почему же ? Прекрасно работает ! Просто для этого юзеру надо выделить (аккуратно, чтоб не съехал ползун) ВСЕ видимые строки и нажать кнопку, которую надо положить на форму и заодно написать к ней обработчик 8)


 
Darts   (2002-10-25 16:23) [12]

> MsGuns

Оригинальный метод. Юзер должен попотеть, выполняя такую работу. Он может просто подсчитать вслух про себя строки. ;-)

Если не ошмбаюсь, высота строки - protected? Тогда проще наследовать данный грид.


 
Darts   (2002-10-25 16:26) [13]

Да, и надо выкинуть высоту шапки, высоту горизонтального скроллбара, чтобы придти к цели. Как-то все слишком сложно.

А можно ли подобраться, используя высоту фонта грида + поправку на пару пикселов по высоте?


 
Johnmen ©   (2002-10-25 16:47) [14]

TMyGrid = class(TDBGrid);
....

Количество видимых строк в DBGrid :
TMyGrid(DBGrid1).RowCount-1;





 
vic_vm ©   (2002-10-26 14:17) [15]

Вот куски из моего собственного компонента
type
TExtDBGrid = class(TDBGrid)
protected
function GetGrid_Info : TGridDrawInfo;
public
constructor Create(AOwner: TComponent); override;
property Grid_Info : TGridDrawInfo read GetGrid_Info;
end;
.............................

implementation

constructor TExtDBGrid.Create(AOwner: TComponent);
begin
inherited;
end;

function TExtDBGrid.GetGrid_Info : TGridDrawInfo;
begin
CalcDrawInfo(Result);
end;


И вот что ты можешь получить
ExtDBGrid1: TExtDBGrid;
.............
ExtDBGrid1.Grid_Info.Vert.LastFullVisibleCell;
ExtDBGrid1.Grid_Info.Vert.GridCellCount;
и еще некоторые вкусности.
CalcDrawInfo - стандартная процедура Delphi
находящееся в protected какого-то из предков



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

Текущий архив: 2002.11.14;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.024 c
4-46209
DDi
2002-09-27 02:11
2002.11.14
Получение текста другого окна


1-45872
ScareCrow
2002-11-05 15:10
2002.11.14
Проблемы работы с МЕНЮ


3-45708
mashinist
2002-10-22 20:57
2002.11.14
dBase IV без BDE


3-45767
Fishka
2002-10-25 13:11
2002.11.14
Директория для временных файлов _SQL....dbf


1-45871
Delphi Maniak
2002-11-05 16:16
2002.11.14
Дирректории