• 고객센터
  • 교육
  • 매뉴얼
  • 데모
  • 제품소개
조회 수 : 1961
2006.03.08 (20:37:14)
데이타셋의 OnColumnChanged 이벤트는 해당하는 Row, Column ID의 값이 변경되었을 때 발생하게 됩니다.
그런데 그 이벤트 안에서 값을 바꿔주는 작업을 하게 되므로 계속해서 그 이벤트가 발생을 하게 되어 무한루프에 걸리는 것 같습니다.

데이타셋의 OnColumnChanged 이벤트 말고 그리드의 OnCheckClick 이벤트를 이용하여 작업을 하시기 바랍니다.
자세한 내용은 컴포넌트 매뉴얼의 Grid-Event-OnCheckClick 를 참고하시기 바랍니다.


>게시판을 이용해 주셔서 감사합니다.
>다음양식에 맞게 입력해주세요.
>
>* 고객시스템명 : 검사관리
>* GAUCE 버전 : 3.5
>* WAS 종류(WebLogic 등등) : Jeus
>* DB 종류 : 오라클
>* 문의 유형(질문/요청/참조) : 질문
>* 내용 :
>
>사용자가 그리드의 checkbox 를 check/uncheck 하게 해서 변경된 데이터의 키값과 check 유무를
>dataset 에 전달하려 합니다
>check 해서 전달하는 것은 문제가 없는데 check 한 것을 uncheck 하려고 하였더니 작동이 잘 안되거나
>무한루프에 빠집니다
>무한루프에 빠지는 원인은 알겠는데 다른 방법이 있는지 문의드립니다
>
><script language=JavaScript for=DS_Main event=OnColumnChanged(row,colid)>
>        if (colid == "CHECK1") {
>                if (DS_Main.nameValue(row, "CHECK1") != "1") {
>                        DS_Main.nameValue(row, "CHECK1") = "1";
>                }
>                else {
>                        DS_Main.nameValue(row, "CHECK1") = "0";  ->이부분 때문에 무한루프 발생
>                }
>        }                                
></script>
>
><script language=JavaScript for=GD_Main event=OnClick(row,colid)>
>           if( colid == "CHECK1") {
>                GD_Main.Editable = true;
>                GD_Main.ColumnProp("CHECK1", "Edit") = "";
>           } else {
>                GD_Main.Editable = false;
>                GD_Main.ColumnProp("CHECK1", "Edit") = "none";
>           }
></script>
 
Tag List
XE Login