[ Nexacro.Dataset -  검색 관련 ]

 

/*==+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 * Group : 4. Dataset Row 관련
 **=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/


/******************************************************************************************
 * 기능 : 특정컬럼 값중 가장 큰 값에 대한 row를 return
 * 인자 : objDS   - 찾을 Dataset name
 *        psColId - 찾을 컬럼명
 * 리턴 : 가장큰 값에 대한 row
 * 예문 :
 *****************************************************************************************/

function gfn_GetMaxFirstRow(objDs, psColId){

    var sMaxVal;

    sMaxVal  = objDs.getMax(psColId);

    return objDs.findRow(psColId, sMaxVal);

}


/*******************************************************************************
 ★ 설명
     Dataset에서 strVal에 해당하는 Record 찾기
     찾기 시작하고자 하는 Record에서 끝까지 찾고 다시 처음부터 시작 Record까지
     찾은 후 그걸 한번에 Return하기 위해 만듬
 ★ parameter
    1. objDs : Dataset Object ( 예 : Dataset00 )
    2. strColID : Column명
    3. strVal : 찾고자 하는 값
    4. nStartRow : 찾기 시작하고자 하는 Record
 ★ return
    찾은 Record를 담은 Array
 ******************************************************************************/

function DsFindRow( objDs, strColID, strVal, nStartRow )

{

 if( fn_IsNull(nStartRow) )  nStartRow = 0;

 

 var frow = -1, expr;

 var arr=Array(), arr_no=0;

 while(1)

 {

  expr = objDs.name + ".getColumn(currow, " + "\"" + strColID + "\").toString().search(/" + strVal + "/) >= 0";

  frow = objDs.findRowExpr(expr, frow+1);

  if( frow < 0 )

   break;

  arr[arr_no] = frow;

  arr_no++;

 }

 

 return arr;

}

 

/*******************************************************************************
 ★ 설명
     DsFindRow()에서 대소문자 구별없이 찾을 수 있게 만듬
 ★ parameter
    1. objDs : Dataset Object ( 예 : Dataset00 )
    2. strColID : Column명
    3. strVal : 찾고자 하는 값
    4. nStartRow : 찾기 시작하고자 하는 Record
 ★ return
    찾은 Record를 담은 Array
 ******************************************************************************/

function DsFindRowCase( objDs, strColID, strVal, nStartRow )

{

 if( fn_IsNull(nStartRow) )  nStartRow = 0;

 

 var frow = -1, expr;

 var arr=Array(), arr_no=0;

 while(1)

 {

  expr = objDs.name + ".getColumn(currow, " + "\"" + strColID + "\").toString().search(/" + strVal + "/i) >= 0";

  frow = objDs.findRowExpr(expr, frow+1);

  if( frow < 0 )

   break;

  arr[arr_no] = frow;

  arr_no++;

 }

 

 return arr;

}

 
 
 
 
 
 
 
 

  

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

Nexacro.Dataset - 한줄 추가.삭제  (0) 2017.01.28
Nexacro.Dataset - 복사(copy)  (0) 2017.01.28
Nexacro.Dataset - Check Box  (0) 2017.01.28
Nexacro.Dataset - 속성(Properties)  (0) 2017.01.28
Nexacro.Dataset - 컬럼 값  (2) 2017.01.28
Posted by 농부지기
,