PDA

View Full Version : نمایش اطلاعات دیتا بیس در hint



yaas135
دوشنبه 22 تیر 1388, 14:59 عصر
من یه DbGrid دارم، میخوام وقتی کاربر با ماوس روی هر رکوردی می ایسته یا کلیک می کنه، اطلاعات کامل تر راجع به اون فیلد توی چیزی شبی به hint نمایش داده بشه.
کسی پیشنهادی داره؟
ممنونم

حمیدرضاصادقیان
دوشنبه 22 تیر 1388, 23:18 عصر
سلام.شما چی میخوای نمایش بدی؟هر اطلاعاتی رو میخوای وقتی روی یک سلول در دبی گرید کلیک کردی مقدار اون رو در یک hint نمایش بده.باز توضیح دقیقتر بده که چه چیزی رو میخوای نمایش بدی.منظور از اطلاعات کاملتر چیست؟
موفق باشید

yaas135
سه شنبه 23 تیر 1388, 13:04 عصر
فرض کنید من توی گرید اسم افراد رو نمایش می دم، میخوام وقتی روی هر اسمی می ایستن اطلاعات کامل پروفایل اون شخص رو ببینن

merced
پنج شنبه 25 تیر 1388, 22:33 عصر
[code]

type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Table1: TTable;
procedure DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
private
{ Private declarations }
FGridCoord: TGridCoord;
FMousePoint: TPoint;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
vGridCoord: TGridCoord;
begin
vGridCoord := TDBGrid(Sender).MouseCoord(X, Y);
if (FGridCoord.X = vGridCoord.X) and (FGridCoord.Y = vGridCoord.Y) then Exit;
FMousePoint := Point(X, Y);
FGridCoord := vGridCoord;
TDBGrid(Sender).Refresh;
end;

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
vGridCoord: TGridCoord;
begin
vGridCoord := TDBGrid(Sender).MouseCoord(Rect.Left, Rect.Top);
if (FGridCoord.X = vGridCoord.X) and (FGridCoord.Y = vGridCoord.Y) then
Caption := Column.Field.DisplayText;
end;

========================
Label1.Caption:=DBGrid1.SelectedField.AsString +DBGrid1.SelectedField.FieldName;
if DBGrid1.SelectedField.FieldName='City' then
DBGrid1.Hint:=DBGrid1.SelectedField.AsString;

[code/]