• 고객센터
  • 교육
  • 매뉴얼
  • 데모
  • 제품소개
조회 수 : 2329
2007.01.04 (03:25:16)
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번은 되는지 알려 주시기 바랍니다.
>
 
Tag List
XE Login