SearchCellOptions

셀 검색 관련 유연한 설정 모델

상세 설명

GridBase.searchCell() 에서 사용된다.

예제 코드

function searchCellHandler() {
    let value = "PR20012392"
    let fields = [ "RequestType", "ServiceCode" ];
    let startFieldIndex = fields.indexOf(grid.getCurrent().fieldName) + 1;
    let options = {
         fields : fields,
         value : value,
         startIndex : grid.getCurrent().itemIndex,
         startFieldIndex : startFieldIndex,
         wrap : true,
         caseSensitive : false,
         partialMatch : true
    }
    let index = grid.searchCell(options);
    grid.setCurrent(index);
}

프로퍼티 정보

caseSensitive


caseSensitive: boolean

대소문자를 구분하여 검색할지의 여부

기본값

false

columns


columns: string[]

필드와 컬럼들 순서가 다를 때 지정하는 컬럼들의 배열

상세 설명

이곳에 지정한 순서대로 검색이 수행된다. 이 속성 사용시 SearchCellOptions.fields 는 사용하지 않는다.

fields


fields: string[]

검색할 필드 목록

상세 설명

필드명 또는 필드 인덱스로 지정 가능

parentId


parentId: number

상위트리의 행 고유 번호 LocalTreeDataProvider 에서만 사용 가능하다.

partialMatch


partialMatch: boolean

포함되는 것도 검색할지 여부

기본값

false

reverse


reverse: boolean

역순 검색

상세 설명

startFieldIndex를 기준으로 역순으로 검색하고 없는 경우 startIndex의 윗행을 검색한다. startIndex가 지정되지 않으면 마지막 행부터 검색한다.

기본값

false

select


select: boolean

검색된 행 선택여부

상세 설명

true로 지정하면 검색된 행이 있을 때 그 행을 선택하고, 현재 표시된 범위 밖이면 표시되도록 스크롤한다.

기본값

true

startFieldIndex


startFieldIndex: number

fields 배열에서 검색을 시작할 필드의 인덱스

상세 설명

let fields = ["a", "b", "c", "d"]; const startFieldIndex = 2 인 경우 "c" 필드부터 검색을 시작한다.

기본값

0

startIndex


startIndex: number

검색 시작 행

기본값

0

value


value: string

지정한 검색 조건값

wrap


wrap: boolean

마지막 행까지 해당하는 행이 없으면 첫 행부터 다시 검색할 것인지 여부

기본값

true

콜백 정보

compareCallback


compareCallback: CompareCallback

사용자 정의 조건을 위한 콜백

기본 값

null

예제 코드

const f = function(v1, v2, sensitive, partialMatch) {
     if (v1 === v2) {
          return true;
     }
     let s1 = String(v1);
     let s2 = v2 == null ? undefined : String(v2);
     if (!s1 && !s2) {
          return true;
     }
     if (!s1 || !s2) {
          return false;
     }
     if (!caseSensitive) {
          s1 = s1.toLowerCase();
          s2 = s2.toLowerCase();
     }
     if (partialMatch) {
     	    return s2.indexOf(s1) >= 0;
     } else {
     	    return s1 == s2;
     }
}

let options = {
         fields : fields,
         value : value,
         compareCallback: f
}

let index = grid.searchCell(options);