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

Вниз

Hint для Grid-a   Найти похожие ветки 

 
starik30   (2003-09-24 11:19) [0]

Hi, All!
Может кто-нибудь подскажет, как реализовать hint для DBGrida (чтобы hint выдавал значение ячейки, над которой находится мышь и которая усеклась...)? Как найти координаты ячейки над которой находится мышь я знаю : Cell := TDBGridEh(Sender).MouseCoord(X, Y); Но как прочитать содержимое I-ой строки j-того столбца не знаю... -(((

Заранее благодарен...


 
Vladislav ©   (2003-09-24 12:45) [1]

http://deeco.h1.ru/cgi-bin/file9.php?text=13#up


 
Amoeba   (2003-09-24 13:18) [2]

Используй DbGridEh из бесплатной библиотеки EhLib (там такая возможнось является встроенной в компонент):
http://www.ehlib.com/RUS/default.htm


 
pasha_golub ©   (2003-09-24 13:37) [3]

2Vladislav
Вроде работает, но по моему так все геморрно, ИМХО


 
pasha_golub ©   (2003-09-24 13:38) [4]

Советую посмотреть реализацию процедуры TCuctomDBGrid.DrawCell, там по-моему можно увидеть как значения достаются


 
starik30   (2003-09-24 16:08) [5]

> Amoeba Спасибо за ссылку - но как-то уж реализация не нравится

..
> pasha_golub Спасибо - буду разбираться ...


 
starik30   (2003-09-29 16:57) [6]

> pasha_golub Посмотрел как реализовано DrawCell и вроде разобрался - каждая запись становится активной при помощи DataLink.ActiveRecord... Вроде и я могу так реализовать для hint-ов...
Но что-то не могу получить ActiveRecord DataSet-а

Заранее благодарен


 
Adoon   (2003-09-29 17:05) [7]

Попробуй что-нибудь в этом роде

procedure TfMain.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
SavedActiveRec: integer;
begin
KoordOrg := DBGrid1.MouseCoord(X, Y);
if (KoordOrg.Y >= 0)and(KoordOrg.Y - OldKoordOrg.Y <> 0) then
begin
SavedActiveRec := THackDbGrid(DBGrid1).DataLink.ActiveRecord;
THackDbGrid(DBGrid1).DataLink.ActiveRecord := KoordOrg.Y;
Application.CancelHint;
dbGrid1.Hint := DM.qOrganisationPROPERTY_TYPE.AsString + #13 + dm.qOrganisationNAME.AsString +
#13 + dm.qOrganisationREGION.AsString;
THackDbGrid(DBGrid1).DataLink.ActiveRecord := SavedActiveRec;
end;
OldKoordOrg.Y := KoordOrg.Y;
end;

Выкинь лишнее, я думаю разберешься


 
starik30   (2003-09-29 17:38) [8]

> Adoon Да вроде так и делаю :

THackDBGridEh=class(TDBGridEh)
public
DataLink : TDataLink;
end;


потом - i:=THackDBGridEh(dbgResultBankSearch).DataLink.ActiveRecord;

и получаю на выше приведенной строке Access violation at address ... -)))


 
Adoon   (2003-09-29 17:41) [9]

странно, у меня работает


 
Adoon   (2003-09-29 17:47) [10]

THackDbGrid = class(TDBGrid);
у меня такое описание класса, попробуй
public
DataLink : TDataLink;
end;
убрать.


 
starik30   (2003-09-29 17:49) [11]

Может, кто подскажет где лыжи смазать чтобы поехали ?... -)))

Заранее блегодарен


 
starik30   (2003-09-29 17:53) [12]

Большое спасибо ! Вроде поехали !!!



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

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

Наверх




Память: 0.49 MB
Время: 0.025 c
14-27681
саша2
2003-09-23 09:43
2003.10.09
наводка


1-27566
Hyboid
2003-09-27 12:15
2003.10.09
TStringGrid


14-27718
Islander
2003-09-21 11:19
2003.10.09
Разработка Shareware


8-27612
NetKnight
2003-06-10 11:27
2003.10.09
Как смиксовать 2 файла ?


8-27613
Вячеслав В.К.
2003-06-06 08:47
2003.10.09
Необходимо получить изображение с USB видеокамеры