TQuery와 TDBGrid를 사용하는 프로그램에서 DBGrid에 선택된 내용을 삭제하는 기능을 구현하려고 합니다.
그런데 SQL문을 사용해서 삭제하고 Query를 다시 오픈하면 가장 처음 레코드로 이동합니다. 그래서 그전에 현재 레코드의 바로 이전의 어떤 필드의 값을 기억해 두고 다시 오픈한 다음 Locate 문을 사용해서 그 이전 레코드를 선택하게 하였습니다.
그런데 이전 레코드의 값을 얻을 때 Query.prior을 사용해서 레코드를 이동했습니다.
그래서 이동하는 모습이 보이더군요!
이때 DBGrid의 갱신을 잠시 정지시켜 놓으려고 합니다.
어떻게 해야 하나요?
혹시 더 좋은 방법이 있으면 알려 주세요!
일단 DBGrid의 갱신을 잠시 정지시켜 놓는 것이라면... TQuery.DisableControls와
TQuery.EnableControls를 이용할 수는 있는데 과연 이런 경우에 적합한 것인지는
잘 모르겠습니다.
도움이 되었기를...
===============================================================================
이태호 wrote:
> TQuery와 TDBGrid를 사용하는 프로그램에서 DBGrid에 선택된 내용을 삭제하는 기능을 구현하려고 합니다.
>
> 그런데 SQL문을 사용해서 삭제하고 Query를 다시 오픈하면 가장 처음 레코드로 이동합니다. 그래서 그전에 현재 레코드의 바로 이전의 어떤 필드의 값을 기억해 두고 다시 오픈한 다음 Locate 문을 사용해서 그 이전 레코드를 선택하게 하였습니다.
> 그런데 이전 레코드의 값을 얻을 때 Query.prior을 사용해서 레코드를 이동했습니다.
> 그래서 이동하는 모습이 보이더군요!
> 이때 DBGrid의 갱신을 잠시 정지시켜 놓으려고 합니다.
> 어떻게 해야 하나요?
>
> 혹시 더 좋은 방법이 있으면 알려 주세요!