【发布时间】:2011-07-26 17:24:19
【问题描述】:
我有一个奇怪的问题。设置 flex DateField 的 text 属性会使该 DateField 的 selectedDate 属性变为 null。
我需要设置文本属性,以便我可以使用特定格式 (DD-MMM-YYYY)。
【问题讨论】:
标签: apache-flex text properties datefield
我有一个奇怪的问题。设置 flex DateField 的 text 属性会使该 DateField 的 selectedDate 属性变为 null。
我需要设置文本属性,以便我可以使用特定格式 (DD-MMM-YYYY)。
【问题讨论】:
标签: apache-flex text properties datefield
在输入问题的过程中,我进行了一些调查和谷歌搜索,终于找到了答案。
http://www.cubicleman.com/2008/02/12/flex-datefield-and-formats/
我花了一天中最好的时间试图找到解决方案,并且已经在 google 上搜索了一番,所以认为将它放在 stackoverflow 上可能是个好主意,这样其他人更有可能找到未来的解决方案。
答案基本上如下。
您需要结合使用日期格式化程序和标签函数来正确显示日期。然后,为了能够以编程方式设置日期而 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 的 AS 参考。
【讨论】: