XPLATFORM 101

- MaskEdit > MaskEdit


일반 Edit 와 많은 차이가 있어서 그런지 별도의 컴포넌트로 구현되어 있습니다.


넘치는 잉여력으로 뭐가 다른지 속성과 메소드를 비교해보았습니다.


- Edit 에만 있는 속성

imemode

inputfilter

inputmode

inputtype

lengthunit

maxlength

password

tabindentsize

useime

- MaskEdit 에만 있는 속성

clipmode

limitbymask

mask

maskchar

trimtype

MaskEdit 에만 있는 속성은 이해가 가는데 Edit에만 다른 속성이 있는것은 좀 애매하네요.

특히 maxlength 같은 속성이 없다는 것은...ㅠㅠ

근데 조금만 잘 생각해보면 Mask를 적용했다는 것은 이미 입력할 자릿수나 ime 등을 선택한 상태인 것입니다.

더 이상 고민할 필요가 없는거죠. ^^


- limitbymask
number 타입일 경우에 정수부와 소수부를 어떻게 제어할지 결정합니다.


- mask

관련된 내용이 좀 많습니다. 도움말의 mask 부분을 참고하세요. ^^


- maskchar

입력 전에 표시될 문자를 지정합니다.
 


명확하게 어떤 글자를 몇자까지 입력 가능한지 확인하게 해줍니다.


MaskEdit를 사용하는 경우에는 text, value 의 값이 다르다는 것을 인식해야 합니다.

화면에 보여지는 것은 text 속성이지만 실제 value 는 Mask가 적용되지 않은 상태라고 인식하면 됩니다.



http://cafe.naver.com/xplatform101/232

XPLATFORM 101

- ListBox > ListBox


ListBox는 여러개 목록중에서 한개 이상의 값을 선택하기 위한 컴포넌트입니다.

그냥 보여줄 수도 있겠지만 그런 경우에는 static이나 textarea를 사용할 것 같고

ListBox는 선택의 용도로 사용됩니다.


때문에 데이터바인딩이나 스크롤 이벤트 등을 지원하고 있습니다.

바인딩시에는 codecolumn, datacolumn, innerdataset 을 사용합니다.



그리드에 바인딩할때와는 달리 UX 스튜디오에서 Dataset을 바인딩 하려고 하면

2가지 옵션을 선택하게 됩니다.


첫 번째 나오는 Bind Dataset with "Dataset00" 을 선택하면 Bind 태그 속성으로 정의가 됩니다.

Edit 등에서 바인딩되는 것과 마찬가지로 동작하게 됩니다.



두 번째 나오는 Bind inner dataset with "Dataset00" 을 선택하면

innerdataset 속성으로 정의가 됩니다. 그리고 codecolumn, datacolumn 을 선택하게 됩니다.


앞에서 설명한 것처럼 1개 이상의 값을 선택할 수도 있습니다.

기본 속성은 아니고 multiselect 속성을 true 로 설정해주어야 합니다.

스크립트 상에서 선택을 조정하려면 setSelect 메소드를 사용합니다.

특정 아이템을 선택하거나 해제할 수 있습니다.


getSelectedCount 메소드를 사용하면 현재 선택된 아이템이 몇개인지 확인할 수 있습니다.

getCount 메소드는 전체 아이템의 숫자를 확인하는 것이고

getSelect 메소드는 현재 인덱스 아이템이 선택된 것인지 확인할 수 있습니다.

http://cafe.naver.com/xplatform101/231 

XPLATFORM 101

- Edit > Edit


일반적인 애플리케이션에서 빈도수로 따지면 가장 많이 사용하지 않을까 싶습니다.

그만큼 기능도 많구요.


바인딩 처리는 폼과 그리드를 연동하는 형식에서 많이 사용합니다.

새로운 데이터를 입력할때 직접 그리드에 입력하기도 하지만

좀 더 빠르고 정확한 작업을 위해 폼을 분리해 사용하는 경우가 많습니다.


- password

입출력되는 문자를 '*'로 숨길지 여부를 지정하는 속성

기본값은 fasle 입니다.


- imemode

특정 입력칸에 위치했을때 기본 입력 언어를 선택하는 속성입니다.

지원가능한 옵션은 영문, 한글, 일본어 설정이 지원되며

각 시스템의 IME에 따라 다르게 동작하게 됩니다.

그런데 한글 옵션에도 2가지가 있네요.

일반(반각)과 전각의 차이는 한 글자에서 가로세로의 비율이 같은 문자인지 확인하는 겁니다.

한글, 한자, 일본어는 전각으로 표기하는데 빈칸, 숫자, 영문은 비율이 반으로 표시됩니다.

그래서 해당 비율을 모두 전각으로 표시하려면 전각 설정을 해야 한다고 합니다.


아래 그림을 보면 왼쪽은 전각일 경우이고 오른쪽은 일반의 경우입니다.

쉼표를 표기하는 부분의 간격이 다르죠.



- autoselect

특이한 속성입니다만 포커스가 왔을때 해당 문자열을 전체선택 상태로 만듭니다.

예를 들어 검색어 입력의 경우 새로 검색어를 입력하거나 기존 검색어를 삭제할 수 있는 경우가 많고

뭐 그런 이유겠죠.


- maxlength

입력할 수 있는 문자열의 최대 길이를 지정합니다.

하지만 입력시에만 제한이 가능하고 바인딩되거나 스크립트에서 변경하는 것은 막지 못합니다.


- lengthunit

일반적인 개발환경에서 고민되는 부분인데 문자열이 한글인지 영문인지에 따라

문자열 제한에 차이가 있습니다.

그래서 엑스플랫폼에서는 아예 해당 단위를 지정할 수 있게 해놓았네요.

utf16, utf8, ascii 로 나뉘어집니다.

설정에 따라 length 계산의 기준이 달라집니다.



동일하게 maxlength 를 4로 지정하더라도 상황에 따라 저렇게 달라집니다.


- autoskip

역시 maxlength 속성과 연결되는 부분인데

max 값에 도달할 경우 일반적인 경우에는 그냥 더 이상 입력만 제한합니다.

하지만 autoskip 속성이 true 인 경우에는 해당 포커스를 다음 순서로 넘깁니다.

예를 들어 주민등록번호를 입력하게 될때 해당 자릿수를 다 입력하면 알아서 다음 순서로 넘기는 프로세스를 만들 수 있습니다.

따로 이벤트를 만들지 않아도 속성만으로 처리가 가능한겁니다.

http://cafe.naver.com/xplatform101/230