여기저기 염치불구하고 똑같은 질문을 하게 되서 죄송합니다..
너무 오랜시간을 이것때문에 고생을 하다보니 이젠 이방법 밖에는 없네요... 죄송~~
질문은 아래와 같습니다..
필드 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;
|