2011-01-31 3 views
0

날짜를 선택하거나 편집 가능 = "true"로 mx : DateField를 사용하여 날짜를 선택하거나 입력 할 수 있습니다. 요구 사항은이 필드에 10 자 이상을 입력 할 수 없어야한다는 것입니다 (10/10/2010). 그러나 DateField에는이를 제한하는 maxChars 속성이 없습니다.Flex DateField/DateChooser Issue

그래서 우리는 텍스트 필드 + DateChooser를 사용하여 문자 수를 제한하려고했습니다. 모든 것은 원하는대로 작동하지만 문제는 DateChooser가 캘린더를 (DateField와 같이) 표시 할 캘린더 아이콘이 아닌 페이지의 전체 캘린더를 표시한다는 것입니다.

그래서 지금 내 q를 사용하여 내가 10

또는

2

에 텍스트 필드에 입력 할 수있는 문자의 수를 제한 할 수 있습니다 어떻게하여 DateField 사용

1

))입니다 DateChooser, 캘린더 아이콘을 표시하도록 모양을 변경 한 다음 캘린더 아이콘을 클릭하면 팝업으로 표시됩니다 (DateField와 유사).

누구든지이 문제에 도움이 될 수 있다면 훌륭합니다. 이 같은 뭔가

답변

2

시작 : 당신은 그냥 날짜 선택기에 이벤트를 클릭하여 처리하고의 TextInput을 작성해야 여기에서

<s:TextInput click="dc.visible=!dc.visible" maxChars="10" /> 
<mx:DateChooser id="dc" visible="false" /> 

적절하게

UPDATE : 귀하의 질문에 대답하려는 시도에서 의견

에서

UI :

<s:HGroup> 
    <s:TextInput id="dateInput" click="dateInput_clickHandler(event)" maxChars="10" /> 
    <mx:DateChooser id="dc" visible="false" includeInLayout="false" change="dc_changeHandler(event)" /> 
</s:HGroup> 

스크립트 :

protected function dateInput_clickHandler(event:MouseEvent):void 
{ 
    dc.includeInLayout = !dc.includeInLayout; 
    dc.visible = !dc.visible; 
} 

protected function dc_changeHandler(event:CalendarLayoutChangeEvent):void 
{  
    dateInput.text = dateFormatter.format(event.newDate); 
    dateInput_clickHandler(null); 
} 

선언 :이 도움이

<mx:DateFormatter id="dateFormatter" formatString="MM/DD/YYYY" /> 

희망! -Ian

+0

답장을 보내 주셔서 감사합니다. 고맙습니다. 이 기능은 작동하지만 텍스트 필드 옆에 아이콘 (또는 이와 비슷한)을 표시해야 사용자가 캘린더를 표시하고 날짜 필드도 편집해야한다는 것을 알 수 있습니다. 그것에 대한 아이디어가 있습니까? – Harry

+0

@Harish : 기본 스킨을 기반으로 TextInput에 대한 사용자 정의 스킨을 만들고 아이콘을 추가합니다. –

+0

웨이드에 동의합니다. TextInput의 커스텀 스킨을 작성합니다. RichEditableText 구성 요소 다음에 섹션 (하단)에 일정 아이콘 이미지를 추가합니다. –