[ Nexacro.Dataset -  컬럼 값 ]

 

/*==+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 * Group : 1. Dataset 컬럼 값
 * Group : 2. Dataset 속성(Properties)
 * Group : 3. Dataset Check box
 * Group : 4. Dataset Row 관련
 **=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
 
/*==+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 * Group : 1. Dataset 컬럼 값
 **=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/


/******************************************************************************************
 * 기능 : Dataset에서 값을 얻어올때 null이면 공백을 return
 * 인자 : objDs - Dataset
 *        nRow  - ds row
 *        sColId - 컬럼 id
 * 리턴 : Dataset에서 get한 값
 * 예문 :
 *****************************************************************************************/

function gfn_GetColumnEmpty(objDs, nRow, sColId){

    var sVal = objDs.getColumn(nRow, sColId);

    

    if (gfn_IsNull(sVal)) sVal = ''

    

    return sVal;

}

/******************************************************************************************
 * 기능 : Dataset에서 값을 얻어올때 null이면 0을 return
 * 인자 : objDs - Dataset
 *        nRow  - ds row
 *        sColId - 컬럼 id
 * 리턴 : Dataset에서 get한 값
 * 예문 :
 *****************************************************************************************/

function gfn_GetColumnZero(objDs, nRow, sColId){

    var nVal = objDs.getColumn(nRow, sColId);

    

    if (gfn_IsNull(nVal)) nVal = 0

    

    return nVal;

}

/******************************************************************************************
 * 기능 : dataset에서 필요한 값을 find한 후 해당 컬럼값을 얻어 오기
 * 인자 : objDs        - 검색 및 찾아올 dataset
 *        strFindExpr  - find에 찾을 조건값
 *        sColId       - getColumn할 column id
 * 리턴 : 검색한 결과
 * 예문 :
 *****************************************************************************************/

function gfn_FindGetColumn(objDs, strFindExpr, sColid ){

    var nFindRow = objDs.findRowExpr(strFindExpr);

    if (nFindRow < 0) return '';

    

    return objDs.getColumn(nFindRow, sColid);

}

/******************************************************************************************
 * 기능 : 중복data검사
 * 인자 : objDs          - 검사할 dataset
 *        aColList       - 컬럼목록   "EMP_NO,DEPT_NO";
 *        nRow           - 검사 소스 ROW (이 row를 기준으로 중복되었는지 검사)
 * 리턴 : true - 중복,   false - 중복 없음
 * 예문 :
 *****************************************************************************************/

function gfn_IsDuplicate(objDs, aColList, nRow){

    var sFildCond, sColValue, nFindRow;

    var paColList = aColList.split(',');

    

    sFildCond = paColList[0] + "=='" + objDs.getColumn(nRow, paColList[0]) + "'";

    for(var ii=0; ii<paColList.length; ii++){

        sFildCond += "&& " + paColList[ii] + "=='" + objDs.getColumn(nRow, paColList[ii]) + "'";

    }

    sFildCond += "&& currow <> " + nRow);  //<----  currow가 되는지 테스트 해 보지 않았음

    

    nFindRow = objDs.getCaseCount(sFildCond);

    

    if (nFindRow > 1){

        return true;

    }

    return false;

}

/******************************************************************************************
 * 기능 : dataset에 null, space등의 결과로 tag 가 없는 컬럼에 대해서 tag 생성(default값 set)
 *        sql문장에서 null, space결과값은 dataset에 tag가 만들어지지 않는다.
 *        tag 가 만들어지지 않으면 getSum등의 함수에서 NaN 결과값을 return하게 됨
 *        값이 null, space인 경우 default 값 Setting으로도 가능함.
 * 인자 : bEvent - true : event 호출됨,   false : event 호출 안됨
 *        objDs  - 작업할 Dataset
 *        aColId - 값Setting Array형식의 컬럼리스트
 *        aVal   - 값Setting Array형식의 Setting할 값 리스트
 * 리턴 :
 * 예문 : var aColId = new Array('goodAllotSmtotScore', 'evalScoreSmtot');
 *        var aVal   = new Array('0', '');
 *        gfn_SetDsNullValue(true, dsProjectItem, aColId, aVal);
 *****************************************************************************************/

function gfn_SetDsNullValue(bEvent, objDs, aColId, aVal){

 

    if (bEvent == false)    objDs.enableevent = false;

    for(var nRow=0; nRow < objDs.getRowCount(); nRow++){

        for(var nIdx=0; nIdx<aColId.length; nIdx++){

            if ( gfn_IsNull(objDs.getColumn(nRow, aColId[nIdx])) ){

                objDs.setColumn(nRow, aColId[nIdx], aVal[nIdx]);

            }

        }

    }   

    

    if (bEvent == false)    objDs.enableevent = true;

}

 

 
 
 
 

  

 

'Nexacro-Function > Dataset' 카테고리의 다른 글

Nexacro.Dataset - 한줄 추가.삭제  (0) 2017.01.28
Nexacro.Dataset - 복사(copy)  (0) 2017.01.28
Nexacro.Dataset - 검색 관련  (0) 2017.01.28
Nexacro.Dataset - Check Box  (0) 2017.01.28
Nexacro.Dataset - 속성(Properties)  (0) 2017.01.28
Posted by 농부지기
,