안녕하세요...
이렇게 자주 질문을 드리는군요.
제가 FieldEditor에서 새로운 필드를 만들어 LookupField로 했습니다.
모든것을 연결하고 그 필드를 DBGrid의 한 컬럼에 연결했습니다.
실행을 해보니 값이 제대로 잘 나오는데, 문제는 저장할 때 값이
즉각적으로 갱신이 되지않습니다.
그러니까, DBGrid에서 보여지는 DBLookupComboBox의 값을 변경하려할때,
내부적으로 연결된 값은 바로 바뀌는데, DBGrid에 보여지는 값은
즉각적으로 바뀌지않고, 포커스를 다른곳으로 이동해야 값이
나옵니다.
DBGrid에서 쓰인 DBLookupComboBox에서 값을 변경하려고 할때,
아이템을 선택하자마자 화면에 보여주는 방법은 없나요?
아이템을 선택하고, 다른곳으로 포커스를 옮겨야 그때서야 값이
보여지는 것 말고, 선택하자마자 그 값이 화면에 보여지도록 말입니다.
어떤 적절한 옵션설정이 필요한지, 아님 다른 방벙이 필요한지,
답변 기다리겠습니다.
꼭 답변 부탁드립니다...
> 안녕하세요...
>
> 이렇게 자주 질문을 드리는군요.
> 제가 FieldEditor에서 새로운 필드를 만들어 LookupField로 했습니다.
>
> 모든것을 연결하고 그 필드를 DBGrid의 한 컬럼에 연결했습니다.
> 실행을 해보니 값이 제대로 잘 나오는데, 문제는 저장할 때 값이
> 즉각적으로 갱신이 되지않습니다.
>
> 그러니까, DBGrid에서 보여지는 DBLookupComboBox의 값을 변경하려할때,
> 내부적으로 연결된 값은 바로 바뀌는데, DBGrid에 보여지는 값은
> 즉각적으로 바뀌지않고, 포커스를 다른곳으로 이동해야 값이
> 나옵니다.
>
> DBGrid에서 쓰인 DBLookupComboBox에서 값을 변경하려고 할때,
> 아이템을 선택하자마자 화면에 보여주는 방법은 없나요?
> 아이템을 선택하고, 다른곳으로 포커스를 옮겨야 그때서야 값이
> 보여지는 것 말고, 선택하자마자 그 값이 화면에 보여지도록 말입니다.
>
> 어떤 적절한 옵션설정이 필요한지, 아님 다른 방벙이 필요한지,
> 답변 기다리겠습니다.
> 꼭 답변 부탁드립니다...
그 이유는 DBLookUpCpmboBox에 포커스가 아직 있을 때는 editing이 끝났다는
이벤트가 발생하지 않기 때문입니다. LookUp은 에디팅이 끝난 다음에 실행되기
때문이지요.
이런 경우 여러가지 편법으로 강제 발생을 시켜주어야합니다.
예를 들면 DBLookUpCpmboBox.OnChange 이벤트에서
DataSet(이름 모름).Post;
를 실행시켜준다던지 하는 방법이 있지요.