중요 업데이트 알림사용해보기제품구매도움영상문의
RealGrid2v2.6.2

  • 튜토리얼
      • 인디케이터
      • 상태바
      • 체크바
      • 체크바와 데이터 필드의 연동
      • 컨텍스트 메뉴
      • 토스트 메시지 창
      • 커서
      • 열 고정하기
      • 행 고정하기
      • 선택
      • 다중 선택
      • 같은 값의 셀 생략하기
      • 셀 버튼
      • 팝업 메뉴 버튼
      • 셀 병합
      • Lookup 컬럼
      • Lookup 트리
      • 툴팁
      • 그룹헤더 툴팁
      • 화면 표시값 변경하기
      • Place Holder
      • 컬럼 만들기
      • 컬럼 속성 동적 변경하기(visible, editable)
      • 컬럼 너비 자동 조정
      • 데이터 정렬
      • 컬럼 이동
      • 자동 필터링
      • 데이터 필터링
      • 컬럼 레이아웃(컬럼 그룹)
      • 컬럼 레이아웃(컬럼 그룹) 속성 동적 변경하기
      • 컬럼 너비 조절
      • 그룹컬럼 접기
      • 셀 가로병합
      • 레이아웃(추가, 삭제)
      • 라인 편집기
      • 멀티라인 편집기
      • 숫자 편집기
      • 드롭다운 편집기
      • 날짜 편집기
      • 마스크 편집기
      • 입력제한 편집기
      • 행 추가/삽입
      • 행 삭제
      • 행 데이터 수정
      • 행/셀 데이터 가져오기
      • 셀 데이터 수정
      • 헤더 높이
      • 헤더 체크박스 사용
      • 컬럼 푸터
      • 컬럼 푸터 병합
      • 상단 요약 표시
      • 컬럼 헤더 HTML Template
      • 컬럼 레이아웃(그룹 컬럼) 헤더 HTML Template
      • 행 높이
      • 행 그룹핑
      • 그룹핑 API
      • 행 병합 그룹핑
      • 아이템 모델
      • 그리드 동적 높이
      • JSON 데이터 가져오기
      • XML 데이터 가져오기
      • 그리드 Lazy Loading 구현
      • 마스터 디테일 예
      • provider 공유하기
      • 데이터 타입
      • 불린 타입 필드
      • 날짜 타입 필드
      • Object 타입 필드
      • Subtypes
      • 롤백
      • 검색
      • 계산 필드
      • 그리드에서 페이징 처리 1
      • 그리드에서 페이징 처리 2
      • 행 Drag & Drop
      • Grid To Grid
      • 텍스트 렌더러
      • 체크 렌더러
      • 바 렌더러
      • 이미지 렌더러
      • 아이콘 렌더러
      • 도형 렌더러
      • 시그널 렌더러
      • 링크 렌더러
      • HTML 렌더러
      • 바코드 렌더러
      • 커스텀 렌더러 - 이미지버튼
      • 구글차트 연동
      • 하이차트 연동
      • 시리즈 컬럼
      • 스파크 컬럼
      • 행 상태
      • Undo / Redo
      • 복사하기/붙여넣기
      • 병합 일괄 수정
      • RealGrid2 스타일
      • 사용자 스타일 - 개요
      • 바디 영역 스타일
      • 헤더, 풋터, 상태바 스타일
      • 셀, 데이터 영역 스타일
      • 편집 영역 스타일
      • styleName 속성 및 콜백
      • 컬럼 동적 스타일
      • 행 동적 스타일
      • 셀 동적 스타일
      • RealGrid2 테마
      • 포커스 스타일
      • 엑셀 내보내기
      • 행 그룹된 그리드 내보내기
      • 여러 레이아웃으로 구성된 그리드 내보내기
      • 다중 그리드 Excel 내보내기
      • Excel문서에 제목 추가하기
      • 엑셀 스타일
      • 이미지 엑셀 내보내기
      • 사용자 지정 문자 출력
      • 엑셀 시트 보호
      • Mobile FormView
      • 대량 데이터 불러오기
      • 트리뷰
      • 트리 구현 - Array데이터
      • 트리 구현 - Object데이터
      • 트리 구현 - Xml데이터
      • 트리 노드 조작하기
      • 트리 아이콘 1
      • 트리 아이콘 2
      • 트리 이벤트
      • 트리 Lazy Loading
      • 사용자 지정 컬럼 유효성 검사
      • 사용자 지정 행 유효성 검사
      • 전체 유효성 검사
      • 유효성 검사 통과
      • 이벤트 발생 순서
      • 클릭 이벤트
      • 렌더링 완료 이벤트
      • 하이차트 연동 컬럼 선택
      • 하이차트 연동 컬럼 필터링
      • 하이차트 연동 행 선택
      • amchart 연동 체크 선택
      • amchart 연동 행 선택
      • 추천 설정
      • 필드와 컬럼 일괄 생성
      • SPAN(컬럼그룹)
      • 행 상태에 따른 특정 컬럼 편집 제어
      • CheckBar에서 자식 노드 연동하여 체크하기
      • Excel Import
      • Group Footer 표시여부 조작하기
      • 체크바와 관계된 팁
      • 상태바와 관계된 팁
      • 동적 에디터 변경
      • text타입 날짜 편집기
      • ColorPicker 연결
      • 파일 Drag and Drop
      • 셀 병합에서 텍스트를 상단으로 이동
      • 병합된 셀의 합계 계산
      • HEADER와 FOOTER에 여러줄로 표시하기
      • 행 삭제와 관계된 팁

subtypes

Data Type에 설명한대로 리얼그리드 DataProvider의 DataField는 네 가지 자료형 중 하나가 될 수 있습니다.
하지만 업무 환경에서 기본 자료형이 제한된 범위로 사용되는 것은 흔한 일입니다.
리얼그리드는 이런 요구 사항의 일부를 지원하기 위해 DataField 별 Subtype 속성을 지원합니다.
Subtype은 데이터필드 추가시 지정할 수 있는데 "subtype" 지시자와 "set" 및 "min"/"max" 한정값을 사용할 수 있습니다.
하지만, Subtype은 데이터필드의 자료형이 아니라 DataProvider에 해당 필드의 값이 저장될 때 지정된 범위에 맞춰주는 역할을 할 뿐입니다.
즉, Subtype 적용이 해제된 시점에 저장된 기존 데이터나, 다른 Subtype을 적용해 저장된 데이터를 새로운 Subtype에 맞추는 일은 하지 않습니다.
물론, 저장 범위의 역할 외에 지정된 Subype에 맞춰서 UI나 다른 기능이 동작하도록 하는 것은 가능한 일입니다.


1). subtype 지시자

데이터필드 지정시 "subType" 속성으로 설정할 수 있습니다. 기본 자료형별로 설정 가능한 값은 아래와 같습니다.

Text"char" - 0 보다 큰 "length" 속성과 더불어 길이가 제한된 문자열로 저장됩니다.
"length"를 0 이하로 지정하면 "text" 기본 자료형과 동일합니다.
Number"unum" - 0 이상의 숫자로 저장됩니다.
"int" - 정수형 값으로 저장됩니다.
<mark>i = v >= 0 ? Math.floor(v) : Math.ceil(v);</mark> 와 같은 방식으로 저장됩니다.
즉, 1.1 이면 1 로, -1.1 이면 -1 로 저장됩니다.
"uint" - 0 이상의 정수형 값으로 저장됩니다.
<mark>i = Math.floor(v);</mark> 와 같은 방식으로 저장됩니다.
Datetime"date" - 시간 부분이 제거된 날짜값으로 저장됩니다.
"fields": [{
    "fieldName": "ItemId",
    "dataType": "number",
    "subType": "unum"
},{
    "fieldName": "ItemName",
    "dataType": "text",
    "subType": "char",
    "length": 100
},{
...
}];

2). minimum/maximum

DataField를 추가할 때 "min" 혹은 "minimum" 과 "max" 혹은 "maximum" 속성들을 지정해서, 값이 저장될 때의 범위를 설정할 수 있습니다.
경계를 넘어선 값은 경계값으로 저장됩니다. 즉, min 보다 작은 값은 min으로, max 보다 큰 값은 max로 저장됩니다.
최소값이나 최소값 중 하나만 지정해도 되고, 최대값을 최소값보다 작게 지정하면 이 범위는 무시됩니다.
이 속성들은 Number, Datetime 자료형에 지정할 수 있습니다.
Datetime 필드에 이 속성을 지정할 때는 해당 필드의 datatimeFormat이나, 필드에 지정되지 않은 경우 DataProvider에 설정된 datetimeFormat에 맞는 문자열로 지정합니다.

"fields": [{
   "fieldName": "Price",
   "dataType": "number",
   "min": 100,
   "max": 200
   ...

3). set

Boolean 자료형을 제외한 나머지 자료형의 DataField에 "set" 배열 속성 값을 지정해서, 배열에 포함된 값이 아니면 undefined로 저장되도록 할 수 있습니다.

"fields": [{
   "fieldName": "State",
   "set": ["ab", "cd", ...],
   ...

4). 주의 사항

위에서 지적한 대로 리얼그리드 Subtype은 에러를 발생 시키지 않고, 입력되는 값을 범위 내의 값으로 조정하는 일종의 제한 조건(constraints)입니다.
DataProvider의 subtypeEnabled 속성으로 subtype 기능을 중지 시키거나, 다시 활성화 시킬 수 있습니다.
또, DataProvider에서 subtypeEnabled가 true로 지정됐다면, 각 데이터필드별 subtypeEnabled가 속성을 통해 활성화/비활성화 시킬 수 있습니다.

Subtype 설정은 행 추가/변경 등에서 요청된 필드 값이 DataProvider에 저장되기 직전에 적용됩니다.