이 이벤트의 파라미터를 보면,
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
이렇게 되어 있는데, Column으로 DBGrid의 Column 속성에 접근할 수 있습니다. 이때 그 Value에 따라 원하는 대로 다르게 그릴수 있습니다.
흠냐.. 그런건 디비 그리드에서 바꾸는게 아니구..
테이블이나 쿼리 컴포에서 찾아 보시면 계산된 필드 란게 있심더
calculate field라구..(철자가 맞남? ^^)
기존에 존재하는게 아니구 임의로 만드는 필드 거든요..
이건 델파이 책에서 보심 위 둘중 하나로 찾아보면 꼭 나옵니다.
이걸루 남여 구분 아니라도 레코드에서의 필드간 합계 등으로도
사용하실 수 있심더..
그럼..
calculate field를 만드셨다니까 쉬우실텐데..
table1에
sung이라는 필드가 있구 그 필드는 integer 형, 그리고 만든 calculate field는
이름이 txt에 string형에 크기 2라고 가정하면
table1의 event에 보면 OnCalcFields 라는 이벤트가 있습니다.
거기다가 아래와 같이 코딩해 주심 됩니다.
procedure TForm1.Table1CalcFields(DataSet: TDataSet);
begin
case table1.FieldByName('sung').asinteger of
0 : table1.FieldByName('txt').asstring := '남';
1 : table1.FieldByName('txt').asstring := '여';
end;
end;
이 이벤트의 파라미터를 보면,
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
이렇게 되어 있는데, Column으로 DBGrid의 Column 속성에 접근할 수 있습니다. 이때 그 Value에 따라 원하는 대로 다르게 그릴수 있습니다.
자세한건 DrawColumnCell으로 검색해보세요.
즐코하세요..^^