김명석 님이 쓰신 글 :
: dbgrid와 query콤포넌트, 데이타소스를 연결했구요
: 수정할때 데이타를 변경한 셀마다 색을 변경해야돼는데요
: 아무리 해도 안돼네요
: 벌써 일주일째 이걸로 헤매고있어요
:
: 제가 코딩한 소스는 밑에처럼 했는데 색이 지 맘대로 변경돼네요... ㅜ_ㅜ
:
: //클릭한 셀의 인덱스와 데이타를 담아놓기위한 전역변수선언
: private
: chk : Integer;
: chkString : String;
:
:
: procedure TFrmARB_TCPAdmin.DBgTcpInfoMouseUp(Sender: TObject;
: Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
: begin
: inherited;
: chk := DBgTcpInfo.SelectedIndex;
:
: chkString := DBgTcpInfo.Fields[chk].AsString;
: end;
:
: procedure TFrmARB_TCPAdmin.DBgTcpInfoDrawColumnCell(Sender: TObject;
: const Rect: TRect; DataCol: Integer; Column: TColumn;
: State: TGridDrawState);
: begin
: inherited;
:
: with DBgTcpInfo, DBgTcpInfo.Canvas do
: begin
: if (DataCol = chk) and
: (Field[chk].AsString <> chkString) then
: begin
: DBgTcpInfo.Canvas.Brush.Color := $00D6FFC8;
: DBgTcpInfo.DefaultDrawColumnCell(Rect, DataCol, Column, []);
: end;
: end;
: end;
:
: 고수님들 제발 방법좀 갈쳐주세요 부탁드립니다....
한로우씩 색을 변경하는건 어찌어찌 찾아서 했는데 셀만 변경하는건 안돼네요
procedure TFrmARB_TCPAdmin.DBgTcpInfoDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
inherited;
if DBgTcpInfo.DataSource.DataSet.UpdateStatus <> usUnmodified then
DBgTcpInfo.Canvas.Brush.Color := clAqua;
DBgTcpInfo.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
위에 처럼했더니 한로우씩은 값이 변경돼면 색이 변경돼요
근데 셀만 변경하게 해야돼는데 도무지 어케해야할지 감이 안오네요
아시는분 자세한 답변좀 부탁드립니다....
많이 급하거든요 꼭 답변 부탁드릴게요.
|