애매한 잡학사전

IBSheet 그리드 중복값 체크 본문

DEV/자바스크립트

IBSheet 그리드 중복값 체크

거대한 개발자 2017. 8. 30. 09:19
반응형

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;

    }

Comments