我有一個奇怪的問題。設置flex DateField的text屬性使該DateField的selectedDate屬性變爲null。更改flex的DateField.text屬性設置selectedDate屬性的值爲null
我需要設置文本屬性,以便我可以使用特定格式(DD-MMM-YYYY)。
我有一個奇怪的問題。設置flex DateField的text屬性使該DateField的selectedDate屬性變爲null。更改flex的DateField.text屬性設置selectedDate屬性的值爲null
我需要設置文本屬性,以便我可以使用特定格式(DD-MMM-YYYY)。
雖然在輸入我的問題的中間,我做了一些更多的調查和一些Google搜索,並最終遇到了答案。
http://www.cubicleman.com/2008/02/12/flex-datefield-and-formats/
我花了一天時間試圖找到解決這個最好的部分,並且已經GOOGLE了好一點,所以認爲這可能是一個好主意,把它放在計算器,使之更容易別人會在未來找到解決方案。
答案本質上如下。
您需要使用日期格式化程序和標籤功能的組合才能正確顯示日期。然後,爲了能夠在沒有Flex的情況下以編程方式設置日期「你的頭」,你需要將dateField的parseFunction設置爲null。
代碼:
<mx:Script>
<![CDATA[
private function doDateLabel(item:Date):String {
return dateFormatter.format(item);
}
]]>
</mx:Script>
<mx:DateFormatter id="dateFormatter" formatString="DD/MMM/YYYY" />
<mx:DateField id="begin"
showToday="true"
labelFunction="doDateLabel"
parseFunction="null"/>
InputTxt.selectedDate = DateField.stringToDate(InputTxt.text, "DD/MM/YYYY");
看到的參考爲DateField.stringToDate。
stringToDate似乎不適用於像MM-DDD-YYYY這樣的日期。有點奇怪,因爲如果你焦點不夠,selectedDate就會搞砸。 –
Thanks @merv將解決方案添加到答案中。也許你可以再次讓我高興? –
+ 1確實如此。謝謝 – merv
謝謝你。欣賞它。 –