• 고객센터
  • 교육
  • 매뉴얼
  • 데모
  • 제품소개
기술지원45
조회 수 : 1656
2007.07.18 (23:44:11)
안녕하세요?

쉬프트 정보통신 솔루션지원팀입니다.

문의하신 부분들에 대해서 말씀드리겠습니다.

우선 CanColumnPosChange 이벤트를 사용한다고 하면 자체적으로 포커스 제어 설정을 할 수 있기 때문에

이벤트 안에서 해당 조건에 따라 return true/ return false를 통해서 제어를 할 수 있습니다.

따라서 CanColumnPosChange 이벤트 내에서 setColumn 메소드를 호출할 필요가 없습니다.

그런데 CanColumnPosChange이벤트에서 원하시는 대로 처리한 로직을 넣고 수행하면 무한루프가 돈다고

하셨는데 코딩을 봐야 정확하게 문제가 되는 부분을 말씀드릴 수 있고, 현재로는 이 이벤트롤 통해서

validation check 후 포커스 제어가 가능합니다.

따라서 정상 구동하는 샘플을 첨부하오니 확인하시기 바랍니다.

CanColumnPosChange 폴더의 html 파일을 실행시키셔서 DEPTNM 컬럼 값이 "기술지원과"이면

해당 cell을 벗어나지 못하게 하는 샘플이오니 참조하시기 바랍니다.

또한 onExit 이벤트를 사용하여 제어한다고 하면

onExit이벤트는 Grid의 Cell이 Edit 상태를 벗어날 때 발생하는 이벤트로 포커스를 제어하는 기능이 없습니다.

이 이벤트는 return값으로 제어할 수 있는 이벤트가 아닙니다.

소스올려주신 거에서 보면 onExit 이벤트내에서 return값 지정한 것은 잘 못 된것입니다.

또한 setColumn 메소드를 통해 제어가 안되는 것은

onExit이벤트가 발생하는 시점은 edit 상태를 벗어나기 직전에 발생되는 이벤트로

onExit내에 setColumn이 선언되어 있더라도 onExit가 끝나고 포커스를 옮기기 때문에

그 onExit내에서 선언하는 것은 의미가 없다고 보시면 됩니다.

그러나 onExit내에서 제어를 한다고 하면 setTimeout 메소드를 통해서 setColumn메소드 실행시점을

조금 늦춰주면 제어를 할 수 있습니다.

따라서 그 부분에 관련된 자료도 첨부합니다.

onExit 폴더의 html 파일을 실행시켜서 EMPNM에 김건모라는 이름을 넣으면 cell값을 체크하여

cell 포커스를 벗어나지 못하게 하는 것을 구현해 놓은 것을 볼  수 있습니다

두개의 첨부파일을 확인하시고 선택하셔서 사용하시기 바랍니다.

문의사항 또는 샘플이 정상 구동이 되지 않으시면 다시 문의해주시기 바랍니다.

그럼 수고하시고

좋은 하루 되시기 바랍니다.

>게시판을 이용해 주셔서 감사합니다.
>다음양식에 맞게 입력해주세요.
>
>* 고객시스템명 :
>* 문의할 Component명 및 버전 : gauce 4.0
>* DataSet 버전 :
>* Tr 버전 :
>* 문의 유형(질문/요청/참조) :
>* 내용 :
>
>그리드 안에서 유효성 체크를 한후 false이면 컬럼을 되돌아 가도록
>
>grid.setColumn을 사용하였는데 반응이 없습니다...
>
>CanColumnPosChange <<< 이 이벤트를 사용할 경우에는 루프도 아닌데
>
>alert창을 반복띄우면서 무한 루프를 돌고 있습니다.
>
>그래서 이벤트를 OnExit로 바꾸고 setColumn을 사용하였는데 false인 상황에서 다음 셀로 그냥 갑니다...
>
>--------------------------------------------------------------------------------------------
>
>if(ds_list.NameValue(row, "apt").length < 3){
>            gd_list.SetColumn("dong");
>            return false;
>}
>
>현재 저 소스는 OnExit상에서 사용하고 있습니다.
>
>다른 테스트 결과 그리드.setColumn이 이벤트 안에서는 안되는것 같습니다.
>
>이벤트 밖에서는 되는거 확인했습니다.
>
>이벤트안에서 특정 컬럼으로 이동하게 하는건 불가능한가요?
>
>현재 그리드는 DataSet이랑 바인딩 되어 있습니다.
 
Tag List
XE Login