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);
}
프로퍼티 정보
columns: string[]
필드와 컬럼들 순서가 다를 때 지정하는 컬럼들의 배열
상세 설명
이곳에 지정한 순서대로 검색이 수행된다. 이 속성 사용시 SearchCellOptions.fields 는 사용하지 않는다.
reverse: boolean
역순 검색
상세 설명
startFieldIndex를 기준으로 역순으로 검색하고 없는 경우 startIndex의 윗행을 검색한다. startIndex가 지정되지 않으면 마지막 행부터 검색한다.
기본값
false
select: boolean
검색된 행 선택여부
상세 설명
true
로 지정하면 검색된 행이 있을 때 그 행을 선택하고, 현재 표시된 범위 밖이면 표시되도록 스크롤한다.
기본값
true
startFieldIndex: number
fields 배열에서 검색을 시작할 필드의 인덱스
상세 설명
let fields = ["a", "b", "c", "d"]; const startFieldIndex = 2 인 경우 "c" 필드부터 검색을 시작한다.
기본값
0
콜백 정보
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);