IE에서 HTML페이지 로딩 시 <Object> tag로 선언된 컴포넌트들은 선언된 순서대로 IE에서 로딩을 합니다.
바인드 컴포넌트가 로딩이 되어서 바인딩 작업을 수행하게 되면 현재 IE에 로딩된 컴포넌트들을 검색하여 바인딩 작업을 완료하게 됩니다.
따라서 Bind 컴포넌트는 바인딩될 컴포넌트들이 선언된 이후에 마지막으로 선언되어야 정상적으로 바인딩됩니다.
1번 예제를 보시면 <body onLoad=...> 에서 스크립트 함수를 호출하고, 호출된 스크립트 함수에서 럭스콤보 컴포넌트를 선언하게 되어 있는데 <body> tab의 onLoad 이벤트는 <body> tag의 모든 내용들이 IE에 로딩된 다음에 발생하게 됩니다.
따라서 바인딩 컴포넌트가 로딩된 이후에 럭스콤보 컴포넌트가 로딩되게 동작이 되어 바인딩이 정상적으로 이루어지지 않게됩니다.
문제를 해결하기 위해서는 바인딩 컴포넌트를 럭스콤보와 같이 onLoad 이벤트 이후에 스크립트 함수에서 로딩하도록 수정을 해주셔야 합니다.
>게시판을 이용해 주셔서 감사합니다.
>다음양식에 맞게 입력해주세요.
>
>* 고객시스템명 : 삼성전기
>* 문의할 Component명 및 버전 :
>* DataSet 버전 :
>* Tr 버전 :
>* 문의 유형(질문/요청/참조) :
>* 내용 :
>스크립트 함수를 호출하여 생성시키는 경우와
>combo를 <body>내에 생성시키는 것의 경우
>binding이 앞의 것은 안되고 뒤의 것은 됩니다.
>
>시간적인 차이때문인듯 한데.. 답변 바랍니다.
>
>방식 1)
>스크립트 함수
>
>function gfn_SetLuxe(argobj,argall,tbccname) {
> var sHtml = "" ;
>
> sHtml = '<OBJECT class=item_select CLASSID=CLSID:BB4533A0-85E0-4657-9BF2-E8E7B100D47E STYLE="WIDTH:100;top:1;" ID='+tbccname+'>'
> +"<param name=Sort value=True>"
> +"<param name=BindColumn value='CODE_NO'>"
> +"<param name=SearchColumn value='CODE_NM'>"
> +"<param name=ListExprFormat value='code_no^0^40,code_nm^0^80'>"
> +"</object>";
>
> argobj.innerHTML = sHtml;
>
> eval(tbccname).ResetData();
> eval(tbccname).Index=0;
> return;
>}
>
>
>function getLuxe(argall, mcode, tbdsid, tbccid,gf_lang) {
> eval(tbdsid).DataID = gfn_SetGauceSL("get_Basecode")
> + "&ArgAll=" + argall
> + "&ArgLang=" + gf_lang
> + "&mcode=" + mcode;
> eval(tbdsid).Reset();
> eval(tbccid).ComboDataID = tbdsid;
> eval(tbccid).ResetData();
> eval(tbccid).Index = 0;
> return;
>}
>
>function setTest(){
> //사업장 콤보
> gfn_SetLuxe(corpcode, '', 'tbcc_corpcode');
> getLuxe(1,'CORP','tbds_Combo_01','tbcc_corpcode',opener.gf_lang);
>}
>
><body onload="setTest();">
>
>
><!-- bonding 설정부분 -->
><comment id="__tb01__">
> <object id=tb_Bind <%=clsidBinder%>>
> <param name=DataID value=tbds_DSET_01>
> <param name=ActiveBind value=true>
> <param name=BindInfo value='
> <C>Col=REQTITLE Ctrl=reqtitle Param=Value</C>
> <C>Col=usernm Ctrl=user_nm Param=Value</C>
> <C>Col=cqdate_ymd Ctrl=cqdate_ymd Param=Value</C>
> <C>Col=cqdate_hm Ctrl=cqdate_hm Param=Value</C>
> <C>Col=emg_fl Ctrl=emg_fl Param=Value</C>
> <C>Col=corpcode Ctrl=tbcc_corpcode Param=BindColVal</C>
> <C>Col=typecd Ctrl=tbcc_typecd Param=BindColVal</C>
> <C>Col=disc Ctrl=disc Param=Value</C>
> '>
> </object>
></comment><script> gfn_ActivateObject(__tb01__); </script>
><body>
>
>
>2번 방식)
><body>
><comment id="__NSID__"><object id=tbcc_corpcode classid=clsid:BB4533A0-85E0-4657-9BF2-E8E7B100D47E height=106 width=120>
> <param name=ComboDataID value=tbds_Combo_01>
> <param name=SearchColumn value=CODE_NM>
> <param name=Sort value=True>
> <param name=ListExprFormat value="CODE_NO^2^50,CODE_NM^1^150">
> <param name=BindColumn value="CODE_NO">
> </object></comment><SCRIPT>gfn_ActivateObject(__NSID__);</SCRIPT>
>
>
><!-- bonding 설정부분 -->
><comment id="__tb01__">
> <object id=tb_Bind <%=clsidBinder%>>
> <param name=DataID value=tbds_DSET_01>
> <param name=ActiveBind value=true>
> <param name=BindInfo value='
> <C>Col=REQTITLE Ctrl=reqtitle Param=Value</C>
> <C>Col=usernm Ctrl=user_nm Param=Value</C>
> <C>Col=cqdate_ymd Ctrl=cqdate_ymd Param=Value</C>
> <C>Col=cqdate_hm Ctrl=cqdate_hm Param=Value</C>
> <C>Col=emg_fl Ctrl=emg_fl Param=Value</C>
> <C>Col=corpcode Ctrl=tbcc_corpcode Param=BindColVal</C>
> <C>Col=typecd Ctrl=tbcc_typecd Param=BindColVal</C>
> <C>Col=disc Ctrl=disc Param=Value</C>
> '>
> </object>
></comment><script> gfn_ActivateObject(__tb01__); </script>
>
></body>
>
>위의 것은 안되고 아래 2번은 되는지 알려 주시기 바랍니다.
>