Q&A

  • DBGrid를 보여줄때 값을 색깔로 보여주는 방법?
2000년의 일정표를 만들려다 보니

가장 간단한 방법이 Table의 Field를 월,1~31로 주어 만든다음에

DBGrid를 통해 보여주는 것일것 같군요.

물론, 값은 A~F정도면 될것같구, 값에 따른 색깔을 지정하여

DBGrid를 보여줄때 값을 보여주는 것이아니라

색깔을 입힐려고 하는데 방법아세요?

혹시 다른 좋은 방법있으면 알려주세요.( StrGrid쓰는것 말고요)



1  COMMENTS
  • Profile
    조규춘 2000.06.22 19:31
    송정엽 wrote:

    > 2000년의 일정표를 만들려다 보니

    > 가장 간단한 방법이 Table의 Field를 월,1~31로 주어 만든다음에

    > DBGrid를 통해 보여주는 것일것 같군요.

    > 물론, 값은 A~F정도면 될것같구, 값에 따른 색깔을 지정하여

    > DBGrid를 보여줄때 값을 보여주는 것이아니라

    > 색깔을 입힐려고 하는데 방법아세요?

    > 혹시 다른 좋은 방법있으면 알려주세요.( StrGrid쓰는것 말고요)

    >





    예전에 답변한것이 있는데용

    이것을 잘 응용하면 될거여요..

    노란바탕에 벌건 글씨를 쓰는거시지요... 쩝.





    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;



    행복하셔요 규춘올림.