그리드 » Api

applyfilter

Description

그리드의 로우를 특정 컬럼의 필터링 적용 데이터 파라미터 값를 기준으로 필터를 적용하는 API이다.

Parameters

Parameters Type Description
nColumn short 필터를 적용할 컬럼 인덱스 (Zero-Base)
strFilterText STRING 필터링 기준 데이터
bRefresh BOOL [옵션] 그리드 리프레쉬 여부(true/false), 기본값 true

Return Value

Type Description
void 없음

Remark

컬럼에 필터를 적용한다는 의미는 필터링 기준 데이터와 동일한 컬럼 데이터를 가진 로우들만 화면에 표시한다는 의미이다.

필터가 컬럼에 적용되면, 컬럼 수평 헤더부에 필터가 적용됐다는 의미로 작은 깔대기 모양의 필터 버튼이 표시된다.

컬럼에 패턴이 적용되어 있을 경우에는, 패턴을 적용하지 않는 데이터를 기준으로 필터가 적용된다. 예를들어, 칼럼의 data_type이 숫자형이고, "ZZ,ZZZ,ZZ9" 패턴을 적용한 경우에, 실제 데이터가 "12300"인 경우, 화면에는 "12,300"으로 표시되지만, 필터가 적용될 때에는, 필터 기준 텍스트와 "12300"을 비교하여 적용된다.

컬럼의 input_type이 콤보 박스인 경우에는 화면에 보이는 텍스트를 기준으로 필터가 적용된다. 컬럼의 input_typed이 콤보 박스인 경우에, 화면에 보이는 텍스트는 컬럼 데이터부의 picklist_selstyle 속성에 의해서 결정된다.

컬럼의 input_type이 체크 박스인 경우에는 checkbox_truevalue, checkbox_falsevalue 속성 값을 기준으로 필터가 적용된다.

깔대기 아이콘을 보이지 않으면서 보다 자세한 필터링 조건을 적용하기 위해서는 applyfilterex 함수를 사용한다.

필터 적용을 해제하기 위해서는 releasefilter 함수를 사용한다.

SQL의 LIKE문과 같은 필터링 조건을 적용하기 위해서는 applymultifilter 함수를 사용한다.

applyfileter 함수를 각각의 칼럼에 대해서 여러번 호출한 경우에는, 기존에 적용되어 있는 칼럼의 필터는 유지되면서 적용된다.

bRefresh 값이 false인 경우, 변경된 내용을 표시하기 위해서는 refresh 함수를 호출해야 한다.

만약 많은 수의 필터를 적용하는 경우라면, 해당 파라미터를 false로 주고, 루핑처리 끝난 이후에 그리드 refresh 함수를 호출하는 것이 속도면에서 훨씬 빠릅니다.

Example

function btn_filter_on_mouseup () { // 0번째 컬럼에 "데이터1"이라는 데이터를 기준으로 필터 적용 grd.applyfilter(0, "데이터1"); }

See Also

applymultifilter
isshowfilter
showfilter
releasefilter
applyfilterex

Viewer Ver.

9.1.1.1

Update Date

20211103