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
/**
 * 해당 데이터셋의 지정한 칼럼에 데이터 존재여부 확인
 * @param ds {Dataset} : 검색할 데이터셋
 * @param col {String} : 검색할 칼럼명
 * @param val {String} : 검색할 값
 * @param empty {boolean} : undefined, null 체크여부
 * return 데이터 존재 시 : true, 없는경우 : false
 
 * ex1) fn_isChkRow(ds_list,"계약코드","",true);
 * ex2) fn_isChkRow(ds_list,"마감일자","",false);
*/
function fn_isChkRow(ds,col,val,empty){
    //  undefined, null 체크
    if(empty){
        if(fn_isChkRow(ds,col,"undefined",false)){
            return true;
        }
        
        if(fn_isChkRow(ds,col,null,false)){
            return true;
        }
    }
    
    return (ds.findRow(col, val) != -1) ? true : false;
}
cs


'X-Internet > X-Platform' 카테고리의 다른 글

데이터셋 ROW_TYPE 검사  (0) 2018.02.06
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


'X-Internet > X-Platform' 카테고리의 다른 글

데이터셋, 데이터체크  (0) 2018.02.13

+ Recent posts