> DBGRID의 row,col을 구하고 싶은데 어떻게 해야 하나요? 고수님들의 답변을 부탁드립니다.
dbgrid의 row, col은 의미가 없습니다. 무슨 말이냐 하면 레코드가 1000개 있더라도 dbgrid의 Row는 그리드에서 보여지는 행수가 전체 갯수가 됩니다.
즉 100번째 레코드에서 110번째 레코드까지 보고 있다면 0번 Row 는 타이틀, 1번 Row는 100번째....12번 Row는 110번째 레코드가 됩니다. 이렇게 되는 이유는 그리드가 데이타전체를 메모리에 올리지 않고 필요한 부분만 올리기 때문입니다. 훨씬 효율적이죠
> DBGRID의 row,col을 구하고 싶은데 어떻게 해야 하나요? 고수님들의 답변을 부탁드립니다.
어떤 연유로 row,col을 구하시고자 하는지 모르겠지만, Grid의 row,col을 구하려 하시는 것이라면 다음과 같이 하시면 됩니다.
type
TCraker = class(DBGrid);
procedure TfrmMain.Grd1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
r, c: longInt;
begin
with TCracker( Sender ) do begin
r := Row;
c := Col;
...이러쿵 저러쿵
end;
end;