123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391 |
- <?xml version="1.0" encoding="utf-8"?>
- <FDL version="1.5">
- <TypeDefinition url="..\default_typedef.xml"/>
- <Form id="cp_selCombo" classname="Uobj_selCombo" inheritanceid="" position="absolute 0 0 178 22" titletext="두줄가능 콤보" scrollbars="none" onload="cp_selCombo_onload" onkeyup="cp_selCombo_onkeyup" style="background:transparent;font:Dotum,9;">
- <Layouts>
- <Layout>
- <Combo id="cbo_userMulti" position="absolute 1 1 177 21" ondropdown="cbo_user_ondropdown" onkillfocus="cbo_user_onkillfocus" taborder="0" oncloseup="cbo_user_oncloseup" autoskip="true" autoselect="true" index="-1" value="null" onkeyup="cbo_userMulti_onkeyup" onchar="cbo_userMulti_onchar" ontextchanged="cbo_userMulti_ontextchanged" onkeydown="cbo_userMulti_onkeydown" style="itemborder:0 none #808080ff ;background:URL('theme://images/bg_edit_N.png') stretch 5,5;font:Dotum,9;"/>
- </Layout>
- </Layouts>
- <Objects>
- <Dataset id="ds_gridMulti" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="GROUP_CD" type="STRING" size="20"/>
- <Column id="DETAIL_CODE" type="STRING" size="20"/>
- <Column id="DETAIL_NAME" type="STRING" size="50"/>
- <Column id="DETAIL_CODE_NAME" type="STRING" size="73"/>
- <Column id="DETAIL_ETC1" type="STRING" size="50"/>
- <Column id="DETAIL_ETC2" type="STRING" size="50"/>
- <Column id="DETAIL_ETC3" type="STRING" size="50"/>
- <Column id="DETAIL_ETC4" type="STRING" size="50"/>
- <Column id="DETAIL_ETC5" type="STRING" size="50"/>
- <Column id="DETAIL_ETC6" type="STRING" size="50"/>
- <Column id="DETAIL_ETC7" type="STRING" size="50"/>
- <Column id="DETAIL_ETC8" type="STRING" size="50"/>
- <Column id="DETAIL_ETC9" type="STRING" size="50"/>
- <Column id="DETAIL_ETC10" type="STRING" size="50"/>
- <Column id="_chk" type="INT" size="10"/>
- <Column id="xRowStatusType" type="STRING" size="1"/>
- </ColumnInfo>
- </Dataset>
- <Dataset id="ds_combo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" cancolumnchange="ds_combo_cancolumnchange">
- <ColumnInfo>
- <Column id="Text" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row/>
- </Rows>
- </Dataset>
- </Objects>
- <Bind/>
- <Script type="xscript4.0"><![CDATA[var lv_sCode = ""; // 선택한 코드
- var lv_sName = ""; // 선택한 이름
- var lv_preData = "";
- var lv_sCodeCol = "";
- var lv_sNameCol = "";
- var iv_event;
- var lv_search = false;
- var lv_text = "";
- var lv_sDirection = "";
- /****************************************************************************************
- * Description : User Composite onload event
- ****************************************************************************************/
- function cp_selCombo_onload(obj:Form, e:LoadEventInfo)
- {
- ds_combo.reset();
- }
- /****************************************************************************************
- * Description : Combo drop down event
- ****************************************************************************************/
- function cbo_user_ondropdown(obj:Combo, e:EventInfo)
- {
- lv_preData = getData();
- // 팝디비전을 펼친다.
- lf_selCombo(this,obj,ds_gridMulti,lv_sCodeCol,lv_sNameCol,lv_sCode,lv_sCode,lv_text,lv_sDirection);
- //lf_findValue();
- }
- /****************************************************************************************
- * Description : Combo killfocus event
- ****************************************************************************************/
- function cbo_user_onkillfocus(obj:Combo, e:KillFocusEventInfo)
- {
- // 콤보에 값을 셋팅.
- obj.value = "";
- //obj.text = "";
-
- obj.value = lv_sCode;
- //obj.text = lv_sName;
-
- //lf_findValue();
- }
- /****************************************************************************************
- * Description : User Composite init value
- * Argument : objDs - combo inner dataset
- sCode - codecolumn
- sData - datacolumn
- * return : Array - Data(code value, data value);
- ****************************************************************************************/
- function setDataSet(objDs,sCode,sData,sDirection)
- {
- ds_gridMulti.assign(objDs);
- lv_sCodeCol = sCode;
- lv_sNameCol = sData;
- if(utlf_isNull(sDirection)) lv_sDirection = "A";
- else lv_sDirection = sDirection;
- }
- /****************************************************************************************
- * Description : User Composite select value return
- * Argument : none
- * return : Array - Data(code value, data value);
- ****************************************************************************************/
- function getData()
- {
- var array = new Array();
- array[0] = lv_sCode;
- array[1] = lv_sName;
- return array;
- }
- /****************************************************************************************
- * Description : User Composite defalul값 설정
- * Argument : string - code value
- * return : none
- ****************************************************************************************/
- function setData(slv_sCode)
- {
- lv_sCode = slv_sCode;
- var name = ds_gridMulti.lookup(lv_sCodeCol,lv_sCode,lv_sNameCol);
-
- if (utlf_isNull(name)){
- lv_sCode = "";
- return;
- }
-
- lv_sName = name;
- if(lv_search){
- lv_text = lv_sName;
- }
-
- lf_findValue();
- }
- function lf_findValue(){
- cbo_userMulti.value = lv_sCode;
- cbo_userMulti.text = lv_sName;
- if(lv_search){
- lv_text = lv_sName;
- }
- }
- function cbo_user_oncloseup(obj:Combo, e:ComboCloseUpEventInfo)
- {
- parent.setFocus();
- }
- /****************************************************************************************
- * Description : User Composite 변경전 data
- * Argument : none
- * return : array - pre data
- ****************************************************************************************/
- function lf_preGetValue()
- {
- return lv_preData;
- }
- /****************************************************************************************
- * Description : User Composite enable setting
- * Argument : bFlag true/false
- * return : none
- ****************************************************************************************/
- function setEnable(bFlag){
- cbo_userMulti.enable = bFlag;
- }
- /****************************************************************************************
- * Description : User Composite 컴포지트 필수 표시 함수 입력값은 : true / false
- * Argument : bFlag true/false
- * return : none
- ****************************************************************************************/
- function setRequestment(bFlag){
- if(bFlag){
- cbo_userMulti.class = "input_essential";
- }else{
- cbo_userMulti.class = "";
- }
- }
- /****************************************************************************************
- * Description : 입력값이 null 또는 wihte space로만 이루어져 있는지 확인 하는 함수
- * Argument : value 입력값
- * return : boolean. null(혹은 white space) 여부
- ****************************************************************************************/
- function ufn_isNull(sValue)
- {
- if (new String(sValue).valueOf() == "undefined") return true;
- if (sValue == null) return true;
-
- var lv_sChkStr = new String(sValue);
- if (lv_sChkStr == null) return true;
- if (lv_sChkStr.toString().length == 0 ) return true;
- return false;
- }
- /****************************************************************************************
- * Description : 컴포지트 이벤트 호출 함수
- * Argument : sEventId - 호출할 이벤트 ID
- * sCompNm - 컴포지트명
- * @return N / A
- ****************************************************************************************/
- function ufn_compositeEvent(sEventId)
- {
- var e = new Object();
-
- e.prevalue = lv_preData[0];
- e.pretext = lv_preData[1];
- e.postvalue = lv_sCode;
- e.posttext = lv_sName;
- var lv_oFrame = this.getOwnerFrame();
-
- var lv_bInhForm = ufn_isNull(lv_oFrame.bInhForm) ? false : lv_oFrame.bInhForm;
- var lv_bMdiForm = ufn_isNull(lv_oFrame.bMdiForm) ? false : lv_oFrame.bMdiForm;
- var lv_bMdiPopForm = ufn_isNull(lv_oFrame.bMdiPopForm) ? false : lv_oFrame.bMdiPopForm;
- try{
- if(lv_bInhForm)
- {
- if(lv_bMdiForm == true || lv_bMdiPopForm == true)
- {
- var s_fn = "this.getOwnerFrame().form.div_Layout.div_Work."+sEventId+"(e)";
- eval(s_fn);
- }
- else
- {
- var s_fn = "this.getOwnerFrame().form."+sEventId+"(e)";
- eval(s_fn);
- }
- }
- else
- {
- var s_fn = sEventId+"(e)";
- eval(s_fn);
- }
- }catch(err){}
- }
- /****************************************************************************************
- * Description : User Composite Set Call event
- * Argument : sEvent string
- * return : none
- ****************************************************************************************/
- function setCallEvent(sEvent)
- {
- iv_event = sEvent;
- }
- function lf_callEvent(){
- if(!utlf_isNull(iv_event)) ufn_compositeEvent(iv_event);
- }
- /******************************************************************************
- * Function : appf_selCombo
- * Description : 두줄표현 콤보 trackPop호출
- * Argument : obj (콤보)
- * ds_input (처리할 dataset)
- sCodeCol - codecolumn
- sDataCol - datacolumn
- sCode - codevalue
- sData - datavalue
- * Return : Array - (값,text)
- *******************************************************************************/
- function lf_selCombo(parObj, obj , ds_input, sCodeCol, sDataCol, sCode, sData, sFilter, sDirection)
- {
- var sDataSetXml = ds_input.saveXML();
-
- var objPopupDiv;
- var sPopupDivNm = "_pdv_trackSelect"+obj.name;
- var bRet = isValidObject(sPopupDivNm);
-
- if(!bRet) {
- objPopupDiv = new PopupDiv;
- objPopupDiv.init(sPopupDivNm, 0, 0, 370, 163);
- this.addChild(sPopupDivNm, objPopupDiv);
- objPopupDiv.style = "background:transparent;border:0 none #808080ff;";
- objPopupDiv.scrollbars = "none";
- objPopupDiv.asyncmode = false;
- objPopupDiv.show();
- objPopupDiv.url = "COMPOSITE::cp_selComboPop.xfdl";
- } else {
- objPopupDiv = eval(sPopupDivNm);
- }
-
- objPopupDiv.lf_setDataSet(sDataSetXml,sCodeCol,sDataCol,sCode,sData,lv_search,sFilter,lv_sDirection);
- var rtn = objPopupDiv.trackPopupByComponent(obj, 0, obj.position.height+1);
- if(!utlf_isNull(rtn)){
- var array = rtn.split("^");
- lv_sCode = array[0];
- lv_sName = array[1];
- if(lv_search){
- lv_text = array[1];
- }
- lf_findValue();
- lf_callEvent();
- }
- }
- /****************************************************************************************
- * Description : User Composite Combo Item Add
- * Argument : sCode - String codedata
- sData - String name data
- sOpt - String insert or append ("top" : insertRow, addRow())
- bAllChk - All Check true/false
- * return : none
- ****************************************************************************************/
- function setAddItem(sCode, sData, sOpt, bAllChk)
- {
- if(bAllChk == "Y" || sOpt == "top")
- {
- ds_gridMulti.insertRow(0);
- ds_gridMulti.setColumn(0, lv_sCodeCol , sCode);
- ds_gridMulti.setColumn(0, lv_sNameCol , sData);
- }
- else
- {
- var nRow = ds_comCode.addRow();
- ds_gridMulti.setColumn(nRow, lv_sCodeCol , sCode);
- ds_gridMulti.setColumn(nRow, lv_sNameCol , sData);
- }
-
- //전체 체크여부
- if(bAllChk == true || bAllChk == false)
- {
- lv_AllChk = bAllChk;
- }
- }
- /****************************************************************************************
- * Description : User Composite Combo use Searching
- * Argument : bBool - Boolean true/false defalul:false
- * return : none
- ****************************************************************************************/
- function setSearch(bBool){
- if(utlf_isNull(bBool)) bBool = false;
- lv_search = bBool;
-
- if(lv_search){
- cbo_userMulti.type = "search";
- lv_text = lv_sName;
- }else{
- cbo_userMulti.type = "dropdown";
- }
- }
- var dup = 0;
- /****************************************************************************************
- * Description : Combo KeyUp event
- ****************************************************************************************/
- function cbo_userMulti_onkeyup(obj:Combo, e:KeyEventInfo)
- {
- if(lv_search && e.keycode == 13 ){
- // 팝디비전을 펼친다.
- lf_selCombo(this,obj,ds_gridMulti,lv_sCodeCol,lv_sNameCol,lv_sCode,lv_sCode, lv_text, lv_sDirection);
- lf_findValue();
- }
- }
- /****************************************************************************************
- * Description : Combo Text Changed event
- ****************************************************************************************/
- function cbo_userMulti_ontextchanged(obj:Combo, e:TextChangedEventInfo)
- {
- lv_text = e.posttext;
- }
- function cbo_userMulti_onkeydown(obj:Combo, e:KeyEventInfo)
- {
-
- }
- /****************************************************************************************
- * Description : 콤보박스의 사이즈 조절
- * Argument : vWidth : 가로길이
- : vHeight : 세로길이
- * return : none
- ****************************************************************************************/
- function setComboSize(vWidth,vHeight){
- cbo_userMulti.position.width = vWidth;
- cbo_userMulti.position.height = vHeight;
- this.position.width = vWidth+2;
- this.position.height = vHeight+2;
- }
- ]]></Script>
- </Form>
- </FDL>
|