IBSheet 그리드 중복값 체크
ibsheet의 그리드에 중복값을 체크를 해야하서 구현을 하였는데.. API를 읽어보니 이미 그런 기능이 있었습니다. ㅠ0ㅠ
그래도 기록으로 남기고자 정리합니다.
/**
* IBSheet 그리드 중복값 체크
* @param argSheetObj : sheet 객체
* @param argSection : 중복 체크 컬럼 값 ( '|' 구분으로 복수 체크 가능 )
* @param argRowStartNo : 시작 row 번호
* @param argMsg : 출력 메시지
* @returns {boolean}
*/
fncSheetRowDupCheck : function(argSheetObj, argSection, argRowStartNo, argMsg){
var retBoolean = true;
var chk = 0;
var rowCount = argSheetObj.RowCount();
var varSectionVal = String(argSection).split('|');
if(rowCount > 0){
for(var i = 0; i < rowCount; i++){
for(var j = 0; j < rowCount; j++){
if(i !== j){
var varStatus = argSheetObj.GetCellValue(i+argRowStartNo, 'sStatus');
var varBaseVal = '';
var varTarVal = '';
for(var z = 0; z < varSectionVal.length; z++){
varBaseVal += argSheetObj.GetCellValue(i+argRowStartNo, varSectionVal[z]);
varTarVal += argSheetObj.GetCellValue(j+argRowStartNo, varSectionVal[z]);
}
if(varStatus !== 'D' && varBaseVal === varTarVal){
chk++;
}
}
}
}
}
if(chk > 0){
alert(argMsg + ' 중복값이 존재합니다.\n중복 값 제거 후 저장하세요.');
retBoolean = false;
}
return retBoolean;
}