ورود

View Full Version : سوال: رنگی کردن ستونهای ehlib dbgrid



daneshmand1354
سه شنبه 10 آبان 1390, 10:26 صبح
سلام خدمت تمامی دوستان
برای رنگی کردن ستونهای ehlib dbgrid تکه کد زیر را نوشته ام.رنگ سلول عوض میشه ولی فونت اصلا مشخص نیست یعنی نوشته های داخل سلول از بین میرود و رنگ سلول تماما زرد میشود.بدون هیچگونه نوشته ای
procedure TFormMembership.DBGridEh1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
begin
DBGridEh1.Canvas.Brush.Color:=clyellow;
DBGridEh1.Canvas.font.Color:=clBlack;
DBGridEh1.DefaultDrawColumnCell(Rect,DataCol,Colum n,State) ;


ممنون اگر دوستان راهنمایی کنند و یا روش دیگری برای رنگی کردن سلولها پیشنهاد دهند

imanpadid
سه شنبه 10 آبان 1390, 13:37 عصر
ضمن سلام و خسته نباشید
من تو پروژه ام از کد زیر استفاده کرده ام.
کد زیر در ONDrawColumnCell دی بی گرید قرار بدهید :

procedure TForm12.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
DBGrid1.Canvas.Font.Color:=clblack;
iValue :=DBGrid1.DataSource.DataSet.RecNo mod 2;
If (gdFocused in State) or (gdSelected in State) then
dbgrid1.canvas.brush.color :=$00DF9700
else
case iValue of
1: DBGrid1.Canvas.Brush.Color :=$00F2EAEA ;
0: DBGrid1.Canvas.Brush.Color :=clWhite;
end;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;


می تونی کد های رنگ به دلخواه تنظیم کنی.

hadisalahi2
چهارشنبه 11 آبان 1390, 18:57 عصر
این کارها اصلا لازم نیست.
خود این کامپوننت این قابلیت رو داره
دو تا خاصیت به نام های EvenRowColor , OddRowColor داره که با اونها میتونی رنگ سطرهای زوج و فرد رو مجزا تعیین کنی
یا حق

gbg
چهارشنبه 11 آبان 1390, 20:18 عصر
ایشون می خواد ستون رو رنگی کنه نه سطر ها رو
بعدش این پروپرتی فقط به روی دیتا ست های شمارشی کار می کنه
فکر کنم اگه گوری بگیری و بعضی از سطر ها حذف شن جواب نمیده

daneshmand1354
پنج شنبه 12 آبان 1390, 21:27 عصر
ضمن سلام و خسته نباشید
من تو پروژه ام از کد زیر استفاده کرده ام.
کد زیر در ONDrawColumnCell دی بی گرید قرار بدهید :
ضمن تشکر از راهنمایی شما
این دستور در dbgrid دلفی جواب میدهد ولی در ehlib dbgrid جواب نمیدهد.