View Full Version : نمایش یک فیلد در dbgrid به صورت ایکن ؟
mahdi939
یک شنبه 08 خرداد 1384, 18:28 عصر
با سلام
من میخواهم فیلدی از یک table یا adotable مقدار فیلد 1 یا 0 باشد ولی در dbgrid برای هر یک از این مقادیر یک ایکن نمایش بدهد .
با تشکر
Tarrah
یک شنبه 08 خرداد 1384, 20:00 عصر
سلام
فکر می کنم اگه نوع فیلدتون رو ole یا graph بگیرین می تونین مشکلتون رو حل کنین.
kamyar_kimiyabeigi
چهارشنبه 18 خرداد 1384, 13:12 عصر
شما می تونین از wwdbgrid و یا cxgrid استفاده کنید
m-khorsandi
چهارشنبه 18 خرداد 1384, 13:35 عصر
درود
من این کار رو کردم البته به روش خودم:
به غیر از ADOQuery و DBGrid که روی فرم هست، یک ImageList هم رو فرم بذار.
یه متغیر هم از نوع TIcon تعریف کن به این صورت:
Var_FullExternalImage: TIcon;
که اینجوری هم باید ایجاد بشه و میتونی توی FormCreate بنویسی:
Var_FullExternalImage := TIcon.Create;
یه عکس هم به ImageList اضافه کن و برای اینکه بتونی عکس توی ImageList رو بخونی و به متغیر
از نوع TIcon بدی میتونی از دستوز زیر استفاده کنی و این رو هم میتونی توی FormCreate بنویسی:
ImageList.GetIcon(0, Var_FullExternalImage);
DBGrid یه Event داره به نام OnDrawColumnCell که دستورات زیر رو توی اون بنویس:
With Sender as TDBGrid do
Begin
Canvas.FillRect(Rect);
If (Column.Field.FieldName = 'FullAttExternal') Then
Begin
If qryGroups.FieldByName('FullAttExternal').AsInteger = 1 Then
Canvas.Draw(Rect.Left, Rect.Top, Var_FullExternalImage);
End
Else
Canvas.TextOut(Rect.Left, Rect.Top, Column.Field.AsString);
End;
امیدوارم چیزی رو کم ننوشته باشم.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.