SMART datagrid v1.4 > Examples

[ grids ver.1.3.8]   Back  Forward

Column Auto Filtering  Example

컬럼 Auto 필터는 데이터 컬럼의 autoFilter 속성을 설정해서 컬럼에 포함된 값들 중 중복된 것들을 제외한 값들을 기준 항목들로 표시하고, 그 중 선택된 항목들에 해당하는 데이터행들만 그리드행으로 가져오는 필터링 장치다. 기존 컬럼 필터와 병행해서 사용할 수 있다. 또, 항목의 수가 많은 경우 valueScale을 지정해서 개별 항목 대신 범위 기준으로 필터링할 수도 있다. 

아래 예제에서는 자료형에 따른 Auto 필터 설정을 보여주고 있다. 

1. Text Field

"제품명", "고객명" 컬럼에는 Auto 필터만 설정되고, "국가" 컬럼에 컬럼 필터와 Auto 필터가 같이 설정되어 있다. 또, "통화" 컬럼에는 컬럼 필터만 설정되어 있다. 

"제품명" 컬럼에는 ColumnAutoFilter.valueScale2로 지정해서 앞 두 글자만 일치해도 선택되도록 하고, "고객명" 컬럼에는 -2로 지정해서 뒤 두 글자만 일치해도 선택되도록 하였다. 또, ignoreCasetrue로 지정했고, displayCaseTextCase.UPPER로 지정해서 선택 상자에 대문자로 표시되도록 했다. 

"제품명" 컬럼의 Auto 필터 active 상태. 

displayCount: "제품명" 컬럼 Auto 필터의 displayCount. 필터 리스트에 표시되는 항목 수.
displayCase: "제품명" 컬럼 Auto 필터의 displayCase.
Grid - 1
rows

선택 행 값으로 "국가" 컬럼의 Auto 필터를 선택한다.v 1.3.8 

선택 행들의 값으로 "국가" 컬럼의 Auto 필터를 선택한다.v 1.3.8 

"국가" 컬럼의 Auto 필터 선택을 모두 제거한다.v 1.3.8 

2. Number Field

NUMBER 필드일 때, Auto 필터의 valueScale은 값을 10의 배수로 변환한 범위 값으로 필터링할 수 있게 한다. valueScale이 0보다 크면 10의 (valueScale - 1) 자승을 곱한 값들은 동일한 범위에 속한 것으로 필터링하고, 0보다 작은 값이면 valueScale 만큼 마이너스 10 자승을 곱한 범위 값으로 필터링한다. 

아래 예제에서 "단가" 컬럼은 valueScale이 2로 설정되어 "111.15""115.45" 두 값은 "110" 범위 값으로 필터링된다. 

ColumnAutoFilter.editSizeFilterSelectorOptions.minWidthFilterSelectorOptions.maxWidth를 지정해서 필터 선택 상자의 너비를 명시적으로 지정할 수 있다. 

"단가" 컬럼 자동 필터 항목들의 정렬 방향
editSize: "수량" 컬럼 Auto 필터 상자 검색 편집기 크기.
Grid - 2
rows
3. DateTime Field

DATETIME 필드에 연결된 컬럼의 valueScale은 DateTimeScale 상수 값과 동일한 범위 값으로 사용된다. 예를 들어, 아래 "발주일" 컬럼처럼 valueScale이 DateTimeScale.QUARTER로 지정되면 같은 분기 속한 날짜값들은 모두 같은 범위의 날짜 값으로 필터링된다. "선적일" 컬럼은 DateTimeScale.DATE로 설정되어 시간값이 달라도 년월일이 같으면 같은 값으로 필터링된다. 

"발주일" 컬럼 Auto 필터의 valueScale:
Grid - 3
rows
4. Boolean Field

BOOLEAN 필드인 경우 필터 목록에 false, true, undefined 세 값들 중에서 표시된다. 실제 표시되는 문자열은 컬럼 스타일booleanFormat이 설정되면 그 형식에 따라 표시된다. 아래 예제에서는 "Female;Male;-"으로 설정됐다. 

Grid - 4
rows

소스보기 JSP 

See Also
ColumnAutoFilter
DataColumn.autoFilter
DataColumn.filters
TextCase
DateTimeScale
Examples
Column Filtering