3. 셀 유형 [WinForms] 셀 유형 - 마스크 셀
페이지 정보
작성자 GCK써니 작성일 2022-08-11 14:04 조회 660회 댓글 0건본문
관련링크
Spread.NET에서는 사용자가 데이터를 입력하고 수정할 때 동일한 양식으로 값/데이터를 입력할 수 있도록 강제할 수 있는 "마스크 셀 타입" 기능을 지원합니다.
해당 기능을 이용하면, 데이터 취합 시에 공통된 값/데이터 입력 양식을 사용자에게 보여주고 제한함으로써 일관된 형식으로 데이터를 입력 받아 관리할 수 있습니다. 이를 통해 더욱 정확하게 데이터를 분석할 수 있는 시스템을 개발할 수 있습니다.
마스크 셀 타입(Mask Cell Type)이란?
마스크 셀이란 문자열에 특정 포맷을 적용할 수 있는 셀로, 마스크 문자열을 사용하여 사용자의 입력을 제한할 때 사용합니다.
예를 들어, 사원 정보를 Excel 파일로 관리한다고 가정해보겠습니다. 입사일에는 날짜가 입력되어야 하는데, 사용자들은 날짜를 "yyyy-MM-dd", "yyyy년 MM월 dd일", "yy-MM-dd" 등 다양한 형식으로 입력할 수 있습니다. 이러한 경우에 마스크 셀을 사용하여 사용자들로부터 일관된 형식으로 날짜를 입력 받을 수 있으며 연도나 월, 일에는 숫자만 입력할 수 있도록 제한할 수 있습니다.
Spread.NET에서는 이와 같이 각 항목에 허용되는 문자 하위 집합*을 지정하여 사용자로부터의 입력을 제한하고, 또 특정 포맷으로 문자열을 표시하고 싶을 때 "마스크 셀 타입"을 사용합니다.
* 문자 하위 집합 에는 아래와 같은 것들이 포함됩니다.
- Ascii 문자
- 숫자(0~9)
- 영문자(대문자)
- 영문자(소문자)
- 16진수(0~9, a~f)
마스크 셀 타입(Mask Cell Type) 설정 방법
마스크 셀 타입의 속성으로는 다음과 같은 속성들이 포함됩니다.
- Mask: 마스크 문자열을 가져오거나 설정합니다.
- MaskChar: 자리표시자(Placeholder) 문자열을 가져오거나 설정합니다.
- NullDisplay: Value가 Null일 때 표시할 텍스트를 가져오거나 설정합니다.
FarPoint.Win.Spread.CellType.MaskCellType maskCell = new FarPoint.Win.Spread.CellType.MaskCellType();
2. 마스크 문자열 설정
각 자리마다 입력 받을 문자의 종류를 제한하기 위해, Mask 속성에 마스크 문자로 이루어진 마스크 문자열을 설정합니다. Mask 속성 설정 시 사용 되는 마스크 문자의 종류는 다음과 같습니다.
마스크 문자 |
설명 |
X |
Ascii 문자 |
# |
숫자(0~9) |
A |
영문자(대문자, 소문자) |
N |
영문자(대문자, 소문자), 숫자(0~9) |
U |
영문자(대문자) |
L |
영문자(소문자) |
H |
16진수(0~9, a~f) |
W |
영문자(대문자), 숫자(0~9) |
M |
영문자(소문자), 숫자(0~9) |
\ |
이스케이프 문자 |
예제에서는 년-월-일을 숫자로 입력받을 것이기 때문에, 마스크 문자 #을 사용합니다.
maskCell.Mask = "####-##-##";
3. 자리 표시자(Placeholder) 설정
MaskChar 속성을 통해 자리 표시자를 설정합니다. Spread.NET 마스크 셀에서, 자리 표시자는 기본적으로 '_'로 설정되어있습니다. 마스크 셀에서 빈 자리를 표시하기 위해 특정 문자를 사용하길 원하시는 경우, 해당 문자를 MaskChar 속성 값으로 설정하여 적용하실 수 있습니다.
예제에서는 'X'를 사용하였습니다.
maskCell.MaskChar = 'X';
4. 빈 셀일 때 표시할 값 설정
마스크 셀에 값이 입력되기 전, 셀이 비어있을 때, 빈 셀에 표시할 값을 설정합니다.
예시에서는 빈 셀일 때 "날짜를 입력하세요"라고 표시하기 위해, NullDisplay 속성에 해당 문자열을 설정하였습니다.
maskCell.NullDisplay = "날짜를 입력하세요";
5. 셀 타입을 마스크 셀 타입으로 설정
원하는 셀의 CellType 속성 값으로, 앞서 설정한 maskCell 객체를 설정합니다.
예제에서는 셀 A1의 셀 타입을 마스크 셀 타입으로 설정하고 있습니다.
fpSpread1.Sheets[0].Cells[0,0].CellType = maskCell;
6. 셀 타입 적용 결과 확인
1~5 단계의 설정을 적용한 후 실행하면, 아래와 같이 동작하는 것을 확인하실 수 있습니다.
- 셀의 Value 속성 값이 Null일 때에는 NullDisplay 속성 값에 입력한 "날짜를 입력하세요" 텍스트가 보여집니다.
- 이후, 셀이 편집모드에 진입하면, 빈 자리를 표시하는 자리표시자가 보여집니다. 예제에서는 'X'가 표시됩니다.
- 숫자를 입력하면, 각 자리에 입력한 숫자가 표시됩니다.
- 만약 알파벳, 한글, 기호 등 숫자가 아닌 다른 값을 입력하려고 할 경우, 입력되지 않습니다.
지금 바로 Spread.NET을 다운로드하여 직접 테스트해보세요!
댓글목록
등록된 댓글이 없습니다.