SMART datagrid v1.4 > Examples
MaskCellEditor를 이용하면 실행 시간 여러 가지 방식으로 사용자 입력 형식에 제한을 줄 수 있다. MaskCellEditor.mask에 지정하는 입력 형식에 대해서는 Edit Mask 개요 페이지를 참조한다.
insertMode가 false면 덮어쓰기 방식으로 편집된다.
fillFromEnd가 true면 셀 값을 편집기로 가져갈 때 셀 값의 길이가 마지막부터 채운다.
includeSeparators가 true면 셀 값을 저장할 때 구분 문자들을 포함시킨다.
includeLiterals가 true면 셀 값을 저장할 때 Literal들을 포함시킨다.
stripEnd가 true면 셀 값을 저장할 때 텍스트의 끝 공백들을 제거한다.
stripBegin이 true면 셀 값을 저장할 때 시작 공백들을 제거한다.
stripInner가 true면 셀 값을 저장할 때 중간 공백들을 제거한다.
마스크 편집기를 적절히 사용하면 날짜, 시간 및 날짜시간 입력 장치로 사용할 수 있다.
편집기를 표시할 때나 붙여넣기 등, 셀 값이나 외부 텍스트를 편집기로 가져올 때는 그 위치의 형식에 맞지 않는 문자는 무시하고 다음 문자들을 진행한다. 형식의 리터럴 문자 위치는 건너 뛴다.
또, 셀 값을 가져올 때 MaskCellEditor.fillFromEnd를 true로 지정하면 편집기의 마지막 부분부터 채운다.
마스크 편집기가 날짜 형의 값을 별도로 취급하는 것은 아니다. CellEditor.datatimeFormat과 MaskCellEditor.unmaskCallback 등을 적절히 사용해야 한다. 기본적으로 CellEditor.datatimeFormat과 MaskCellEditor.mask 두 속성을 동일한 패턴으로 지정하면 자동 처리된다. 위 예제에서는 날짜형의 세 컬럼에 대해 아래처럼 설정되어 있다.
{
// datetimeFormat 기본 형식이 'yyyy/MM/dd' 이므로 따로 설정할 필요 없다.
mask: "0000/00/00"
}
{
"mask": "00:00:00",
"datetimeFormat": "hh:mm:ss;1",
}
{
"mask": "0000/00/00 00:00:00",
"datetimeFormat": "yyyy/MM/dd hh:mm:ss",
// 날짜와 시간 사이의 공백 문자도 같이 전달되도록 한다.
// 시간, 날짜 구분자들은 includeSeparators가 기본값이 true 이므로 따로 설정하지 않아도 된다.
"includeLiterals": true
}