...
IBQuery.DisableControls;
OldRec:=IBQuery.RecNo;
IBQuery.RecNo:=UnderMouse_RecNo;
...
DBGrid. Выбор данных в зависимости от координат курсора мыши.
Нужно получить значение IBQuery.ColumnByName('имя_поля').AsString для записи над которой завис курсор мыши в DBGrid.
Помогите советом.
-----------------
Заранее спасибо.
Цитата:
Originally posted by zvitaliy
Есть всязка IBQuery->DataSourse->DBGrid.
Нужно получить значение IBQuery.ColumnByName('имя_поля').AsString для записи над которой завис курсор мыши в DBGrid.
Помогите советом.
-----------------
Заранее спасибо.
Есть всязка IBQuery->DataSourse->DBGrid.
Нужно получить значение IBQuery.ColumnByName('имя_поля').AsString для записи над которой завис курсор мыши в DBGrid.
Помогите советом.
-----------------
Заранее спасибо.
Делать примерно так:
1. Определить номер строки, над которой "завис" курсор;
2. Определить номер записи в DataSet, которой соответствует номер строки грида (с учетом прокрутки, etc.) (с DBGrid не работаю, так что какие ф-ии надо использовать - не знаю)
3. Переместить курсор набора данных на эту запись (сохранив номер активной записи):
Код:
4.
Код:
...
UnderMouse_Field:=IBQuery.ColumnByName('имя_поля').AsString;
...
UnderMouse_Field:=IBQuery.ColumnByName('имя_поля').AsString;
...
5. Возвратить курсор назад:
Код:
...
IBQuery.RecNo:=OldRec;
IBQuery.EnableControls;
...
IBQuery.RecNo:=OldRec;
IBQuery.EnableControls;
...
ЗЫ: Я пробовал работать по такому методу с DBGridEh - получал жуткие тормоза и глюки с прокруткой... потом плюнул.
Если кто найдет метод получше - буду рад :)
Y: Integer);
var
a: TGridCoord;
begin
a:=DBGrid1.MouseCoord(X,Y);
...
...
Спасибо.Номер строки в DBGrid на экране я определил, осталось определить количество прокрученных в DBGrid строк ну или хотя бы прокрученную область в пикселях - расчитаю количество строк арифметически.
Есть еще идеи?
Цитата:
Originally posted by zvitaliy
procedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
a: TGridCoord;
begin
a:=DBGrid1.MouseCoord(X,Y);
...
...
Спасибо.Номер строки в DBGrid на экране я определил, осталось определить количество прокрученных в DBGrid строк ну или хотя бы прокрученную область в пикселях - расчитаю количество строк арифметически.
Есть еще идеи?
procedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
a: TGridCoord;
begin
a:=DBGrid1.MouseCoord(X,Y);
...
...
Спасибо.Номер строки в DBGrid на экране я определил, осталось определить количество прокрученных в DBGrid строк ну или хотя бы прокрученную область в пикселях - расчитаю количество строк арифметически.
Есть еще идеи?
Код:
property TopRow ?
Цитата:
Originally posted by makbeth
Код:
property TopRow ?
У потомка TDrawGrid такое свойство есть, у
TDBGrid - нету. :-( Вот невезет.
Значение ячейки больше ее ширины, нужно при наведении курсора полное значение ячейки выводить в хинте. Координаты ячейки уже есть :-). Осталось получить значение ячейки над которой курсор
Как в TDBGrid узнать номер выделенной строки?