애매한 잡학사전

IBSHEET 서브 콤보박스 공통함수 구현 본문

DEV/자바스크립트

IBSHEET 서브 콤보박스 공통함수 구현

거대한 개발자 2017. 8. 29. 09:18
반응형

이번 프로젝트에서 IBSHEET를 사용하면서 그리드에서 메인 콤보박스 선택에 따른 서브 콤보박스를 세팅해주는 함수를 구현해 보았습니다.

 

조금 더 정리를 할 필요는 있는 것 같지만 HISTORY 차원에서 기록하게 되었습니다.

 

    /**
     * IBSheet 메인 콤보박스 선택에 따른 서브 콤보박스 변경
     * @param argSheetObj : IBSHEET OBJECT
     * @param argUrl      : SEARCH URL
     * @param argParam    : PARAMETER
     * @param argSubColId : 대상 서브 콤보박스 ID
     * @param argRow      : GRID 선택 ROW
     */
    fncSheetDynamicSecondComboBox : function(argSheetObj, argUrl, argParam, argSubColId, argRow){

        // 메인 콤보박스 코드 값 확인
        var status = argSheetObj.GetCellValue(argRow, "sStatus");
        var varCd = argSheetObj.GetCellText(argRow, argSubColId); // 원본 값 저장
        var info = argSheetObj.GetSearchData(argUrl, argParam); // 코드 값 조회
        var varJson = JSON.parse(info);
        var varComboTxt = '';
        var varComboCd = '';
        var varComboData;

        for(var i=0; i < varJson.retList.length; i++){
            if(i === 0){
                varComboTxt = varJson.retList[i].text;
                varComboCd = String(varJson.retList[i].code);
            } else {
                varComboTxt += '|' + varJson.retList[i].text;
                varComboCd += '|' + varJson.retList[i].code;
            }
        }

        varComboData = {"ComboText":varComboTxt,"ComboCode":varComboCd};
        argSheetObj.CellComboItem(argRow, argSubColId, varComboData);

        // 원본 값 셋팅
        argSheetObj.SetCellText(argRow, argSubColId, varCd);
        if(status === 'R'){
            argSheetObj.SetCellValue(argRow, "sStatus", "R");
        }
    }
Comments