PDA

View Full Version : تغيير فونت يك سلول از dbgrid



bps20590
جمعه 25 بهمن 1387, 10:05 صبح
با سلام
من يك جدول دارم داراي دوفيلد nameوfont كه درداخل فيلدname آن 10 ركورد قراردادشته ودرفيلد font هرركورد نام يك فونت قرار دارد حال مي خواهم هنگامي كه اطلاعات را درداخل dbgrid نمايش مي دهم هر سلول حاوي نام با فونت تعيين شده درركورد خودش نمايش داده شودچطور بايد اين كار را انجام داد

babak_delphi
شنبه 26 بهمن 1387, 21:46 عصر
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState);
begin
DBGrid1.Canvas.Font.Name := Table1.FieldByName('font_name').Asstring;
DBGrid1.DefaultDrawDataCell(Rect, Field, State);
end;


البته با در نظر گرفتن اینکه محتوای فیلد ، نام فونت است

shervin farzin
یک شنبه 27 بهمن 1387, 10:44 صبح
سلام
از Event به نام OnDrawColumnCell مربوط به DBGrid استفاده كنيد و كد زير را درون آن قرار دهيد:

DBGrid1.Canvas.Font.name:=trim(Table1.FieldByName( 'fontname').AsString);
DBGrid1.Canvas.Font.Style:=[fsBold];
DBGrid1.Canvas.Font.Size:=10;
DBGrid1.Canvas.Font.Color:=clBlue;
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column, State);

موفق باشيد .