Q&A

  • 해당 레코드 색깔 넣기(디비그리드)
디비그리드의 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로도 해봤는데 역시 안되더군요.



새로운 폼으로 테스트를 해봤는데 잘되는데, 지금 프로그래밍하는데서는 왜 안되는지?

혹시 아시는 분 도와주세요!

2  COMMENTS
  • Profile
    델초보 2000.08.01 16:27
    DBGrid의 OnDrawCell이벤트 코딩은 잘하셨구요,

    FormCreate나 FormShow, FormActivate시에

    DBGrid1.Columns.State := csDefault; 라는 코드를 추가하세여.

    그럼 됩니다.

  • Profile
    최용일 2000.07.27 10:36
    안녕하세요. 최용일입니다.



    흠~ 이전폼에서