>게시판을 이용해 주셔서 감사합니다.
>다음양식에 맞게 입력해주세요.
>
>* 고객시스템명 : LIG NEX1
>* 문의할 Component명 및 버전 : 4.0
>* DataSet 버전 :
>* Tr 버전 :
>* 문의 유형(질문/요청/참조) : 질문
>* 내용 :
>현재 화면에 <통화코드, 구분> 두 개의 콤보 박스를 사용하고 있습니다.
>구분에서 특정 값을 선택하면 통화코드에서 선택할 수 있는 항목을 동적으로 제어하기위해 구분 콤보박스에 OnSelChange 이벤트를 잡고 통화코드 콤보를 구성하는 데이터셋에 OnFilter 이벤트를 발생시키도록 구현하였습니다. 구분 콤보박스의 선택값이 바뀌면 이벤트가 발생하고 있구요. 제대로 동작을 하고 있습니다. 구현된 OnFilter 부분은 아래와 같습니다.
><script language=JavaScript for=ds_currencyCode event=OnFilter(row)>
>
> var purchaseType = ds_purchaseType.NameValue(ds_purchaseType.RowPosition, "Code");
> var currencyCode = ds_currencyCode.NameValue(row, "Code");
>
> // 구입부품비이면 KRW 만 선택 가능, 수입부품비이면 KRW 는 선택 불가
> if ( purchaseType == "D" ) {
> if (currencyCode == "" || currencyCode == "KRW") {
> alert(purchaseType + " : " + currencyCode + " : T");
> return true;
> } else {
> alert(purchaseType + " : " + currencyCode + " : F");
> return false;
> }
> } else if ( purchaseType == "I" ) {
> if ( currencyCode != "KRW" ) {
> alert(purchaseType + " : " + currencyCode + " : T");
> return true;
> } else {
> alert(purchaseType + " : " + currencyCode + " : F");
> return false;
> }
> }
>
></script>
>
>문제는 선택된 통화코드의 값을 변경하지 않은 상태에서 구분 값을 변경했을경우 filter 가 잘동작하지만 통화코드의 값을 변경하고 구분을 선택했을 경우 분명히 OnFilter 이벤트를 탔음에도 불구하고 통화코드의 콤보박스는 이전에 필터링된 데이터가 그대로 남아있습니다. 이 때 통화코드를 변경하지 않고 다시 구분 콤보의 값을 바꾸면 잘동작하구요. 무슨 이유인지를 모르겠네요;
전체적인 소스코드가 없어 정확하게 판단할수 없지만, 기본적으로 OnFilter이벤트는 -index를 만들어주는 이벤트이며, OnSelChange이벤트또한 Index값이 변경되면 발생하는 이벤트이기때문에 Index값이 변경되면 이벤트도중에도 바로 OnSelChange이벤트 처음으로 돌아가게 되어있습니다.
이부분이 문제가 될 여지가 있는것 같습니다.
확인해보시고 문제가 되시면 저희 기술지원 대표번호로 연락바랍니다.