X-Internet/X-Platform
데이터셋 ROW_TYPE 검사
TRUE_SKY
2018. 2. 6. 09:14
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | /** * 해당 데이터셋의 변경사항 여부 검사 * @param ds {Dataset} : 검색할 데이터셋 * @param chkTypeArray {String[]} : 체크할 rowtype - i:신규입력상태,u:수정상태,d:삭제상태 * return 정의된 row type에 일치하는 데이터가 한 건이라도 존재하는 경우 : true, 없는경우 : false * ex1) fn_isUpdateChk(ds_list,["i","u","d"]); * ex2) fn_isUpdateChk(ds_list,["i","u"]); * ex3) fn_isUpdateChk(ds_list,["u"]); */ function fn_isUpdateChk(ds,chkTypeArray){ var isUpdateYN = false; // 리턴값 var rowTypeArray = new Array(); // 비교할 rowType // 비교할 row type 정의 for(var i = 0; i < chkTypeArray.length; i++){ switch(chkTypeArray[i]){ case "i" : // 등록 rowTypeArray.push(Dataset.ROWTYPE_INSERT); break; case "u" : // 수정 rowTypeArray.push(Dataset.ROWTYPE_UPDATE); break; case "d" : // 삭제 rowTypeArray.push(Dataset.ROWTYPE_DELETE); break; default : break; } // End of switch } // End of for ds.updatecontrol = false; ds.enableevent = false; // row type 체크 for(var row = 0; row < ds.rowcount; row++){ var rowType = ds.getRowType(row); for(var i = 0; i < rowTypeArray.length; i++){ if(rowType == rowTypeArray[i]){ isUpdateYN = true; break; } // End of if } // End of for if(isUpdateYN){ break; } } // End of for // 삭제 row 체크 if(!isUpdateYN){ for(var i = 0; i < rowTypeArray.length; i++){ if(rowTypeArray[i] == Dataset.ROWTYPE_DELETE && ds.getDeletedRowCount() > 0){ isUpdateYN = true; break; } // End of if } // End of for } // End of for ds.updatecontrol = true; ds.enableevent = true; return isUpdateYN; } | cs |