염치없이 여기저기 똑같은 질문을 하네요.. 벌써 1주일째..~~
필드 A의 1번째 값이 90 ~ 100일때 필드A의 1번째 셀 색상을 노란색으로
필드 A의 2번째 값이 70 ~ 80일때 필드A의 2번째 셀 색상을 녹색으로
필드 A의 3번째 값이 60 ~ 70일때 필드A의 3번째 셀 색상을 파란색으로
................
위와 같이 특정셀에 대해서 조건에따라 색깔을 바꾸려고 하는데.. 안되네요..
특정 레코드 전체나 필드전체로는 색상이 변경되는 예들이 많이 있는데..
델파이관련 사이트를 다뒤져도 이런 소스는 없어요...
혹시 해결해 주실분좀 안계신가요?
아래와 같은 소스가 있던데 이건 한 필드 전체를 노란색으로 바꾸더라구요...
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
with TDBGrid(Sender).Canvas do begin
if (Column.FieldName = 'FILEDNAME') and (State = []) then begin
Brush.Color := clYellow;
Font.Color := clBlack;
end
else begin
Brush.Color := clWindow;
Font.Color := clWindowText;
end;
if (gdFocused in State) or (gdSelected in State) then begin
Brush.Color := clHighlight;
Font.Color := clHighlightText;
end;
FillRect(Rect);
TextOut(Rect.Left+2,Rect.Top+2,Column.Field.AsString);
Brush.Style := bsSolid;
Brush.Color := clWindow;
end;
end;