connector
چهارشنبه 04 دی 1387, 16:24 عصر
سلام
آقا من ميخوام وقتي روي يك سلول از DBGrid كليك ميكنم كل سطر رنگي بشه (نه فقط همون سلول)
كد زير رو هم وارد كردم با اينكه برنامه بدون هيچ اروري اجرا ميشه اما باز هم با انتخاب يك سلول فقط همون سلول رنگش عوض ميشه و كل سطر رنگش عوض نميشه
به نظرتون ايراد از كجاست؟
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
iValue:Byte;
begin
iValue :=DBGrid1.DataSource.DataSet.RecNo mod 2;
If (gdFocused in State) or (gdSelected in State) then
dbgrid1.canvas.brush.color :=clMoneyGreen
else
case iValue of
1: DBGrid1.Canvas.Brush.Color :=clCream ;
0: DBGrid1.Canvas.Brush.Color :=clWhite;
end;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
آقا من ميخوام وقتي روي يك سلول از DBGrid كليك ميكنم كل سطر رنگي بشه (نه فقط همون سلول)
كد زير رو هم وارد كردم با اينكه برنامه بدون هيچ اروري اجرا ميشه اما باز هم با انتخاب يك سلول فقط همون سلول رنگش عوض ميشه و كل سطر رنگش عوض نميشه
به نظرتون ايراد از كجاست؟
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
iValue:Byte;
begin
iValue :=DBGrid1.DataSource.DataSet.RecNo mod 2;
If (gdFocused in State) or (gdSelected in State) then
dbgrid1.canvas.brush.color :=clMoneyGreen
else
case iValue of
1: DBGrid1.Canvas.Brush.Color :=clCream ;
0: DBGrid1.Canvas.Brush.Color :=clWhite;
end;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;