Q&A

  • DBGrid의 refresh 문제
폼이 활성화 되면서 디비그리드에 테이블 자료가 뜨게 되어있습니다.



그런데 삭제버튼(navigate 버는이 아님)을 누르면 조건을 만족한 자료는 삭제되도록 하였습니다.



그런데도 디비그리드상의 자료는 그대로 있더군요. 물론 데이블을 열어보면 정상적으로 삭제되어있습니다.



DBGrid1.refresh 명령을 주었는데도 그래로더군요. 폼을 닫았다 열면 비로소 삭제된 자료가 않보입니다.



삭제와 동시에 디비그리드도 변경된 자료를 실시간으로 보이게 하려면 어떻게 해야하나요?

4  COMMENTS
  • Profile
    최원실 2000.01.07 19:30
    이재민 wrote:

    > 폼이 활성화 되면서 디비그리드에 테이블 자료가 뜨게 되어있습니다.

    >

    > 그런데 삭제버튼(navigate 버는이 아님)을 누르면 조건을 만족한 자료는 삭제되도록 하였습니다.

    >

    > 그런데도 디비그리드상의 자료는 그대로 있더군요. 물론 데이블을 열어보면 정상적으로 삭제되어있습니다.

    >

    > DBGrid1.refresh 명령을 주었는데도 그래로더군요. 폼을 닫았다 열면 비로소 삭제된 자료가 않보입니다.

    >

    > 삭제와 동시에 디비그리드도 변경된 자료를 실시간으로 보이게 하려면 어떻게 해야하나요?





    ??? => 안녕하세요!

    혹시 CachedUpDates를 사용하셨나요?

    제 생각엔 사용한 것 같은데 CachedUpDates를 사용하면 테이블에 넘기기전에

    임의의 방에다 Data를 저장시키는데 이걱도 같이 삭제하여 주어야 합니다.

    그래서 보통 CachedUpDates를 사용시 입력,삭제시 다음과 명령을 간단히 추가하여

    주면 됩니다.

    ### Table호출한 컴포넌트의 AfterPost Event에다 다음과 같이...(저장시)

    if Query1.UpdatesPending then

    Query1.ApplyUpdates;

    begin

    Query1.ApplyUpdates;

    Query1.CommitUpdates;

    end;



    ### Table호출한 컴포넌트의 AfterDelete Event에다 다음과 같이...(삭제시)

    With Query1 do

    begin

    ApplyUpdates;

    CommitUpdates;

    end;



    => 제가 통신에서 답변을 하기는 처음이라 의도하는데로 잘 전달되었는지는

    모르겠네요!

    => 그럼 이만!!!!!





  • Profile
    최원실 2000.01.07 19:33
    최원실 wrote:

    > ??? => 안녕하세요!

    > 혹시 CachedUpDates를 사용하셨나요?

    > 제 생각엔 사용한 것 같은데 CachedUpDates를 사용하면 테이블에 넘기기전에

    > 임의의 방에다 Data를 저장시키는데 이걱도 같이 삭제하여 주어야 합니다.

    > 그래서 보통 CachedUpDates를 사용시 입력,삭제시 다음과 명령을 간단히 추가하여

    > 주면 됩니다.

    > ### Table호출한 컴포넌트의 AfterPost Event에다 다음과 같이...(저장시)

    > if Query1.UpdatesPending then

    > Query1.ApplyUpdates;

    > begin

    > Query1.ApplyUpdates;

    > Query1.CommitUpdates;

    > end;

    >

    > ### Table호출한 컴포넌트의 AfterDelete Event에다 다음과 같이...(삭제시)

    > With Query1 do

    > begin

    > ApplyUpdates;

    > CommitUpdates;

    > end;

    >

    > => 제가 통신에서 답변을 하기는 처음이라 의도하는데로 잘 전달되었는지는

    > 모르겠네요!

    > => 그럼 이만!!!!!

  • Profile
    혀노 2000.01.07 19:29
    table1.EnableControls과

    table1.DisableControls사이에 코딩해보세요,,,

    아해봤지만,,,아마 될것 같군요,,,,^^;;(안되면 어하지??)



    이재민 wrote:

    > 폼이 활성화 되면서 디비그리드에 테이블 자료가 뜨게 되어있습니다.

    >

    > 그런데 삭제버튼(navigate 버는이 아님)을 누르면 조건을 만족한 자료는 삭제되도록 하였습니다.

    >

    > 그런데도 디비그리드상의 자료는 그대로 있더군요. 물론 데이블을 열어보면 정상적으로 삭제되어있습니다.

    >

    > DBGrid1.refresh 명령을 주었는데도 그래로더군요. 폼을 닫았다 열면 비로소 삭제된 자료가 않보입니다.

    >

    > 삭제와 동시에 디비그리드도 변경된 자료를 실시간으로 보이게 하려면 어떻게 해야하나요?

  • Profile
    손창근 2000.01.07 18:13
    안녕하세요...

    오공이 입니다.



    연결되어 있는 Sql이나 Table을 Close시킨후 다시 Open하면 될거 같네요..



    그럼 이만...





    이재민 wrote:

    > 폼이 활성화 되면서 디비그리드에 테이블 자료가 뜨게 되어있습니다.

    >

    > 그런데 삭제버튼(navigate 버는이 아님)을 누르면 조건을 만족한 자료는 삭제되도록 하였습니다.

    >

    > 그런데도 디비그리드상의 자료는 그대로 있더군요. 물론 데이블을 열어보면 정상적으로 삭제되어있습니다.

    >

    > DBGrid1.refresh 명령을 주었는데도 그래로더군요. 폼을 닫았다 열면 비로소 삭제된 자료가 않보입니다.

    >

    > 삭제와 동시에 디비그리드도 변경된 자료를 실시간으로 보이게 하려면 어떻게 해야하나요?