지이구
지구.log
지이구
전체 방문자
오늘
어제
  • 분류 전체보기 (89)
    • 프로그래밍언어 (25)
      • Java (12)
      • 자바스크립트 (12)
    • 웹 개발 (13)
      • HTML, CSS (4)
      • JSP (6)
      • API, Plugin (0)
      • 기타 (3)
    • 프레임워크 (20)
      • 스프링 (12)
      • Node.js (4)
      • 넥사크로 (4)
    • 데이터베이스 (6)
      • Oracle (3)
      • MySQL MariaDB (2)
    • 모바일 (1)
      • 안드로이드 (1)
      • iOS (0)
    • 운영체제 (3)
      • 리눅스 (3)
    • 연습 (12)
      • 프로그래머스 (12)
    • 자격증 (5)
      • 정보처리기사 (5)
    • 취미 (1)
      • 배경화면 (1)
반응형

블로그 메뉴

  • 홈

공지사항

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.
지이구

지구.log

[넥사크로] 그리드 전화번호 포맷 설정
프레임워크/넥사크로

[넥사크로] 그리드 전화번호 포맷 설정

2022. 3. 14. 15:57

 

 

 

 

💠 의도

그리드에 바인딩 되어 있는 데이터가 아래와 같이 String 형태의 숫자일 때

가독성을 높히기 위해 - 로 구분하여 전화번호 포맷을 주고자 한다

​

포맷 설정 X

 

포맷 설정 O

 

​

주의해야할 점은 다양한 전화번호 형태에 따라 포맷을 주어야한다는 것

1. 휴대폰 번호일 경우, 000-0000-0000 또는 000-000-0000

2. 사무실/ 집 번호일 경우, 00-0000-0000 또는 00-000-0000 또는 000-000-0000 또는 000-0000-0000

​

즉,

000-000-0000

000-0000-0000

00-000-0000

00-0000-0000

​

이렇게 4가지 종류의 포맷 모두 염두하여 설정해주어야한다

​

​

​

​

💠 방법

원하는 그리드의 바디 셀을 속성값을 다음과 같이 설정해준다

displaytype을 mask로 선택

 

​

 

그리고 한~~~~참 내리다보면 CellMaskEdit라는 영역에

maskeditformat이라는 곳이 있다

이 란에 Set Expression 버튼을 눌러서 삼항연산자를 작성해줄건데

이 전에 maskedittype에 값을 string으로 설정해준다

​

 

 

dataset.getColumn(currow, "PBT_PHONE").length >= 10 ? (dataset.getColumn(currow, "PBT_PHONE").substring(0,2) == '02' ? '@@-@@@@-@@@@' : (dataset.getColumn(currow, "PBT_PHONE").length == 11?'@@@-@@@@-@@@@':'@@@-@@@-@@@@' )) : '@@-@@@-@@@@'

 

위와 같은 expression 코드를 넣어준다

​

​

포맷 설정 완료

 

​

그러면 포맷의 종류에 상관없이 맞는 포맷으로 출력되는 것을 확인할 수 있다

​

​

코드에 대한 설명은 이렇다

원래 포맷 값을 줄때 @@-@@@@-@@@@ 이런식으로 골뱅이를 활용해서 포맷을 설정하는 것이 일반적인데

우리는 경우의 수가 4가지가 존재하고 그에 따라 포맷을 설정해줘야 하기 때문에 삼항연산자를 활용했다

​

삼항연산자를 작성하기 힘들땐

if else문으로 풀어서 보는게 직빵이다

​

삼항연산자를 if else로 풀어보았다

 

//데이터셋의 컬럼명이 PHONE이라고 가정
if(dataset.getColumn(currow, "PHONE").length >= 10){ //전화번호의 길이가 10과 같거나 크면
    if(dataset.getColumn(currow, "PHONE").substring(0,2) == '02'){ //전화번호가 02로 시작하면
         '@@-@@@@-@@@@' //4번 포맷
    }else{
        if(dataset.getColumn(currow, "PHONE").length == 11){ //전화번호의 길이가 11이면
            '@@@-@@@@-@@@@' //2번 포맷
        }else{ //전화번호의 길이가 11이 아니면
            '@@@-@@@-@@@@' //1번 포맷
        }
    }
}else{ // 전화번호의 길이가 10보다 작으면
    '@@-@@@-@@@@' //3번 포맷
}

 

 

😋 포맷 경우의수

번호
형태
자리수
1
000-000-0000
10
2
000-0000-0000
11
3
00-000-0000
9
4
00-0000-0000
10

​

​

​

​

​

끝

728x90
반응형
    '프레임워크/넥사크로' 카테고리의 다른 글
    • [넥사크로] 그리드 셀 text color 동적 변경하기
    • [넥사크로17] 프로퍼티 설정 및 사용하기 (공통코드 설정)
    • [넥사크로] Grid 그리드 체크박스 전체선택, 전체해제
    지이구
    지이구
    풀스택 개발자를 목표로 성장중인 병아리 개발자입니다. #ENFJ #5년차 #웹개발자 #집사

    티스토리툴바