Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.11.14;
Скачать: [xml.tar.bz2];

Вниз

Количество строк в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.008 c
4-46193
k
2002-10-03 12:42
2002.11.14
как определить момент покидания окна курсором


1-45839
liho26
2002-11-04 08:27
2002.11.14
D7, что за глюк?


3-45751
kalan
2002-10-25 04:31
2002.11.14
Что необходимо установить на клиенте для работы с dbExpress


1-45953
xnum
2002-11-04 13:51
2002.11.14
Отключение PC


1-45854
Cr@sh
2002-11-05 13:36
2002.11.14
Сложный вопрос. Только для настоящих Мастеров.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский