procedure Tform1.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
ls_term : integer;
begin
// .. 일수에 색깔 넣기 .. //
ls_term := query1.FieldByName('Il_Su').asInteger;
if ls_term > 7 then
begin
//(sender as TDbGrid).Canvas.Font.Color := clRed;
ⓐ.{위의 이넘은 한 레코드 모든 컬럼의 폰트가 색깔 바뀜}
(Sender as TDbGrid).Columns[3].Font.Color := clRed;
ⓑ.{위의 이넘은 3번째 컬럼의 값을 무조건 빨간색으로 바뀜(조건이 맞을경우만)}
(Sender as TDbGrid).canvas.FillRect(Rect) ;
(sender as TDbGrid).DefaultDrawColumnCell
(Rect,DataCol,Column,State);
end
else
begin
(sender as TDbGrid).DefaultDrawColumnCell
(Rect, DataCol, Column, State);
end ;
end;
end;
검색 해서 찾아보니 한 레코드 전체 바꾸는 것 밖에 없더라구요.
제가 원하는건 어떤 특정 레코드중 "Il_Su(일수)"라는 컬럼의 값의 폰트의
색깔만 변하게 하고 싶은데..
예를 들어
순번 내용 일수
--------------------------
1 첫번째 내용 8
2 두번째 내용 4
라는 내용이 있다면
조건에 7일 이후만 색깔을 바꾼다고 가정하고
위의 소스중
ⓐ의 경우는 한 레코드의 모든 컬럼의 값이 바뀌고
(즉 1 첫번째 내용 8 이라는 값이 빨간색)
ⓑ의 경우는 조건이 맞을 경우 모든 레코드의 해당 컬럼의 색이 바뀜
(즉 일수의 8 하고 4 라는 값이 빨간색으로 바뀐다는 이야기 ^^;)
제가 원하는 건
일수(Il_Su)라는 컬럼의 8만 빨간색으로 바꾸고 싶어요...
어떻게 해야 하죠?
아 그리고 한가지 더 DrawDataCell은 왜 이벤트가 일어 나지 않죠...
분명히 이벤트와 링크가 연결이 되어있던데...
이넘 언제 이벤트가 발생해영?
다른님들은 이 이벤트 잘 이용하시는것 같은데... 왜 나만..ㅠㅠ