! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

[WinForms] 셀 유형 - 마스크 셀 > 온라인 스터디

본문 바로가기

3. 셀 유형 [WinForms] 셀 유형 - 마스크 셀

페이지 정보

작성자 GCK써니 작성일 2022-08-11 14:04 조회 648회 댓글 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일 때 표시할 텍스트를 가져오거나 설정합니다.
위의 속성들을 하나씩 적용하여, "yyyy-MM-dd" 형식으로 날짜를 입력받는 마스크 셀을 설정해보겠습니다.

1. 마스크 셀 타입 객체 선언 및 초기화
먼저, 기본 설정 값을 가진 마스크 셀 하나를 새로 생성합니다.
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 단계의 설정을 적용한 후 실행하면, 아래와 같이 동작하는 것을 확인하실 수 있습니다.

7f2c84c1d535c8b62a46926cc23a9569_1660893022_8074.gif

  • 셀의 Value 속성 값이 Null일 때에는 NullDisplay 속성 값에 입력한 "날짜를 입력하세요" 텍스트가 보여집니다. 
  • 이후, 셀이 편집모드에 진입하면, 빈 자리를 표시하는 자리표시자가 보여집니다. 예제에서는 'X'가 표시됩니다.
  • 숫자를 입력하면, 각 자리에 입력한 숫자가 표시됩니다.
  • 만약 알파벳, 한글, 기호 등 숫자가 아닌 다른 값을 입력하려고 할 경우, 입력되지 않습니다.

  

이외의 속성들은 아래 링크된 도움말 문서에서 확인하실 수 있습니다.




지금 바로 Spread.NET을 다운로드하여 직접 테스트해보세요!

spnet.png


  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

등록된 댓글이 없습니다.

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기

태그1

인기글

더보기
  • 인기 게시물이 없습니다.
메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.