Форум: "Основная";
Текущий архив: 2003.10.09;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c