안녕하십니까.....델고수님들...
다름이 아니라.....DB그리드에 뿌린 데이타 중에서 특정 조건에 만족하는
레코드는 DB그리드상에서 색깔을 달리하고 싶읍니다...
Drawcolumncell이란 이벤트에 적어보니까 필드단위로 색깔을 바꾸고 하는건 되는데
레코드별로 색깔을 변경시키는 방법을 몰겠읍니다....
다시 말하면 세로단위로 폰트나 색깔을 변경할순 있겠는데
가로 단위로는 못하겠군요....
아시는 분있으시면 가르쳐주십시요....
그럼....기다리겠읍니다...급해서요...
> 안녕하십니까.....델고수님들...
> 다름이 아니라.....DB그리드에 뿌린 데이타 중에서 특정 조건에 만족하는
> 레코드는 DB그리드상에서 색깔을 달리하고 싶읍니다...
> Drawcolumncell이란 이벤트에 적어보니까 필드단위로 색깔을 바꾸고 하는건 되는데
> 레코드별로 색깔을 변경시키는 방법을 몰겠읍니다....
> 다시 말하면 세로단위로 폰트나 색깔을 변경할순 있겠는데
> 가로 단위로는 못하겠군요....
> 아시는 분있으시면 가르쳐주십시요....
> 그럼....기다리겠읍니다...급해서요...
하이요 델 초님...
그냥 본론부터 쩝.
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
var
FieldValue : Double;
begin
Fieldvalue := Field.DataSet.FieldByName('Length (cm)').AsFloat;
if (FieldValue <= 50) then begin
(Sender as TDbGrid).canvas.font.Color := clRed;
(Sender as TDbGrid).canvas.Brush.Color := clyellow;
(Sender as TDbGrid).canvas.FillRect(Rect) ;
(sender as TDbGrid).DefaultDrawDataCell(Rect,Field,State) ;
end
else begin
(sender as TDbGrid).DefaultDrawDataCell(Rect,Field,State) ;
end ;
end;
이거 보시면 이해는 되시지요? 조건에 맞으면 바탕은 노랑색 글씨는 벌건색
그럼 이만..
행복하셔요.. 조규춘올림.