개발/Flex

Flex 3 mx:DateField 를 사용하여 range(범위)를 주기

리미르체르 2015. 8. 13. 10:43


mx:DateField를 사용할 경우에 2가지의 property를 사용하여 날짜를 선택하게 하거나 선택하지 못하게 할 수 있습니다.

 



위와 같이 2011년 6월 14일~ 2011년 6월 24일까지 선택하게하고
위의 양 화살표(◀/▶) 버튼을 통해서 이동을 못하게 하려면 어떻게 해야 할까요?



 1. 2011년 6월 14일 ~ 2011년 6월 24일까지만 선택하게 하기


위 방법을 하려면 mx:DateField 컴포넌트의 disabledRanges 프로퍼티를 사용하시면 됩니다.
disabledRanges:Array 입니다.
이 Array 에는 Object가 들어가게 되는데 Map의 형태를 띄고 있는 {rangeStart: new Date(), rangeEnd : new Date() } 가 들어가게 됩니다.

코드를 보게 되면 아래와 같이 나옵니다.

viewDateField.disabledRanges = [ 
	{rangeStart: new Date( 2010, 1, 1 ), rangeEnd: new Date( 2011, 5, 14 )}, 
	{rangeStart: new Date( 2010, 5, 24 )}
];






2. 양 화살표(◀/▶) 버튼을 통해서 이동을 못하게 하기

DateField 컴포넌트의 프로퍼티중 selectableRange:Object를 사용하면 선택할 수 있는 범위를 조절 할 수 있게 됩니다.
이 Object도 위에서 사용한 것처럼 {rangeStart: new Date(), rangeEnd : new Date() } 와 같은 방법으로 쓸 수 있습니다.
다만 이 프로퍼티의 경우에는 Array가 아니라 Object이기때문에 하나의 범위만을 지정할 수 있습니다.

viewDateField.selectableRange = 
	{rangeStart: new Date( 2011, 5, 15 ), rangeEnd: new Date( 2010, 5, 23 )};