Форум: "Базы";
Текущий архив: 2002.10.03;
Скачать: [xml.tar.bz2];
ВнизКоординаты ячейки в DBGrid, над которой находится мышь Найти похожие ветки
← →
Andrew_ (2002-09-11 19:27) [0]Господа! MouseCoord возвращает координаты видимой части DBGrid-а, т.е. если DBGrid проскроллирован вниз, то все строки, которые остались вверху не учитываются, а ячейки в первой видимой строке имеют координаты 1, а мне нужно знать их абсолютное значение, т.е. с начала ВСЕГО списка.
Использую DBGrid из библиотеки EhLib.
Спасибо
← →
Val (2002-09-11 19:33) [1]можно узнать, какая этим преследуется цель?
← →
BlackTiger (2002-09-11 21:30) [2]Не в тему: у тебя EhLib нормальный или eval? не дашь по-пользоваться :-). Мне их грид понравился очень (если не жалко скинь на ap@rd.lv).
По теме: сомневаюсь, что это получится без извратов, так как тебе нужно установить фокус на ячейку, над которой проходил мышь.
А вот дальше проще - узнай какая это колонка, какая запись по счету (из Table/Query) и перемнож их.
← →
ЮЮ (2002-09-12 03:27) [3]>видимой части DBGrid
В DBGride нет невидимой части. Его DataLink содержит ровно столько записей, сколько может быть отражено в Gride, т.о. DBGrid показывает все записи DataLink-а
← →
Andrew_ (2002-09-12 10:19) [4]Так что, никто не знает?
В конечном итоге мне необходимо определить номер записи (RecNo), над которой находится указатель мыши не выбирая эту ячейку.
← →
ЮЮ (2002-09-12 10:25) [5]А без RecNo подойдет? Может быть достаточно доступа ко всем полям той записи, которая в данный момент находится под мышью?
← →
Andrew_ (2002-09-12 10:29) [6]Может быть и достаточно, дело за малым, определить номер записи, над которой находится мышка.
← →
ЮЮ (2002-09-12 10:42) [7]>дело за малым, определить номер записи, над которой находится мышка
Опять пресловутый номер записи. У DBGrida ровно столько записей, сколько можно вывести на экран.
1) TCustomGrid.MouseCoord
Returns the row and column indexes of the cell that contains a point specified in screen coordinates.
2) Зная строку, делаем как в DBGrid.DrawCell:
OldActive := DataLink.ActiveRecord;
try
Datalink.ActiveRecord := ARow;
<в этом месте мы имеем доступ к той самой записи>
finally
Datalink.ActiveRecord := OldActive;
← →
Andrew_ (2002-09-12 14:16) [8]Спасибо. Все получилось.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.10.03;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c