디비그리드의 DrawDataCell 이벤트에
showmessage('시작');
Fieldvalue := dm_wm_01.que_wm0025w1_0.FieldByName('hsabun').AsString;
if Fieldvalue ='합계' then
begin
(Sender as TDbGrid).canvas.brush.Color := clAqua;
(Sender as TDbGrid).canvas.font.Color := clRed;
(Sender as TDbGrid).canvas.FillRect(Rect) ;
//(Sender as TDbGrid).canvas.TextOut(Rect.Left,Rect.Top,Field.Text );
(sender as TDbGrid).DefaultDrawDataCell(Rect,Field,State) ;
end
else begin
(sender as TDbGrid).DefaultDrawDataCell(Rect,Field,State) ;
end ;
이런식으로 코딩을 했습니다. 어떻게 된것이 DrawDataCell 이벤트를 거치지 않습니다.
그래서 확인하기위해 showmessage로도 해봤는데 역시 안되더군요.
새로운 폼으로 테스트를 해봤는데 잘되는데, 지금 프로그래밍하는데서는 왜 안되는지?
혹시 아시는 분 도와주세요!
FormCreate나 FormShow, FormActivate시에
DBGrid1.Columns.State := csDefault; 라는 코드를 추가하세여.
그럼 됩니다.