Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-27572
User_OKA
2003-09-29 15:00
2003.10.09
TreeView


14-27696
vidiv
2003-09-12 06:29
2003.10.09
Как определить кто печатал на сетевой принтер


1-27556
Alexia
2003-09-29 16:20
2003.10.09
Вызов PopupMenu


3-27370
P0tia
2003-09-18 19:51
2003.10.09
Проблема с Excel


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





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский