PDA

View Full Version : به صورت لینک در آوردن خانه های دی بی گرید



amirbikhyal
شنبه 01 بهمن 1384, 23:44 عصر
با عرض سلام
چگونه می توان خانه هایی از دی بی گرید را به صورت لینک در آورد تا بتوان با ماوس روی آن کلیک کرد
خیلی ممنون میشم اگر کسی راهنمایی کند

اَرژنگ
یک شنبه 02 بهمن 1384, 04:00 صبح
جایه درست برایه این سوال، تالار دلفی میباشد.

mzjahromi
یک شنبه 02 بهمن 1384, 12:42 عصر
تا جائی که من خبر دارم برای این کار باید از تکنیکهای برنامه نویسی استفاده کنی یعنی رنگ اون Col رو خودت عوض کنی و با کلیک کردن روی اون خودت با دستور ShellExecute صفحه مورد نظرت رو باز کنی

saniak_robot
یک شنبه 02 بهمن 1384, 14:08 عصر
باید در قسمت event دی بی گرید در رویداد onclick واسش برنامه بنویسی

amirbikhyal
دوشنبه 03 بهمن 1384, 00:23 صبح
مرسی از نظر همه شما

amirbikhyal
دوشنبه 03 بهمن 1384, 00:25 صبح
باید در قسمت event دی بی گرید در رویداد onclick واسش برنامه بنویسی
اگر در قسمت on click کد نویسی کنم این کد که مربوط به کل dbgrid مربوط میشه اما ما می خواهیم که برای هر سلول یک event داشته باشیم.

ebnsina
سه شنبه 04 بهمن 1384, 13:57 عصر
باید در روال OnCellClick گرید کد بنویسی و در این روال Column کلیک شده را داری.

m-khorsandi
سه شنبه 04 بهمن 1384, 14:47 عصر
تو OnDrawColumnCell کد زیر رو بنویسید


if Column.FieldName = 'HyperLink' then
begin
DBGrid1.Canvas.Font.Color := clBlue;
DBGrid1.Canvas.Font.Style := [fsUnderline];
end;

DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);


و همونجوری که دوستمون گفتند برای فراخوانی لینک هم در OnCellClick کد زیر رو بنویسید:


if Column.FieldName = 'HyperLink' then
ShellExecute(Handle, 'Open', PChar(ADOTable1.FieldByName(Column.FieldName).AsSt ring) , nil, nil, SW_SHOWDEFAULT);

amirbikhyal
یک شنبه 09 بهمن 1384, 01:19 صبح
شاید موضوع زیر با این بحث متفاوت نباشد:
می خواهم با Click در یک سلول از dbgrig محتوای آن سلول را در متغیری قرار بدهم. یعنی مقدار فیلد آن رکورد را انتخاب کنم .(از یک سطر یک ستون را انتخاب کنم)
ضمنا مرسی از همه نظرات استفاده کردیم

mzjahromi
یک شنبه 09 بهمن 1384, 10:18 صبح
شاید موضوع زیر با این بحث متفاوت نباشد:
می خواهم با Click در یک سلول از dbgrig محتوای آن سلول را در متغیری قرار بدهم. یعنی مقدار فیلد آن رکورد را انتخاب کنم .(از یک سطر یک ستون را انتخاب کنم)
ضمنا مرسی از همه نظرات استفاده کردیم

فکر کنم این کارت رو راه بندازه


procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
Label1.Caption:= Column.Field.AsString;
end;

Maryam Hashemi
یک شنبه 09 بهمن 1384, 14:41 عصر
شما می توانید از Rxdbgrid استفاده کنید . در event های oncellclickیا oncolenterکد مورد نظر را بنویسید.

amirbikhyal
دوشنبه 10 بهمن 1384, 01:09 صبح
با تشکر از همه عزیزان وهمچنین آقای mzjahromi
کد در عین سادگی جالب بود .
حالا با این کد میتونیم مقدار فیلد را بر داریم .
وهمچنین می خواهم سلول مذکور تقریبا حالتی مثل button داشته باشه و با click روی آن قابل دیدن باشد (توجه:همه سلولها نه)
از بقیه سلولها قابل تشخیص باشد.

amirbikhyal
دوشنبه 10 بهمن 1384, 01:11 صبح
منظورم سلول dbgrid میباشد.