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");
}
}