1

我有一个奇怪的问题。设置 flex DateField 的 text 属性会使该 DateField 的 selectedDate 属性变为 null。

我需要设置文本属性,以便我可以使用特定格式 (DD-MMM-YYYY)。

4

2 回答 2

2

在输入我的问题的过程中,我做了更多的调查和一些谷歌搜索,最终找到了答案。

http://www.cubicleman.com/2008/02/12/flex-datefield-and-formats/

我花了一天的大部分时间试图找到解决方案,并且已经在谷歌上搜索了很多,所以认为将它放在 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"/>
于 2011-07-27T08:51:21.107 回答
1
InputTxt.selectedDate = DateField.stringToDate(InputTxt.text, "DD/MM/YYYY");

请参阅DateField.stringToDate的 AS 参考。

于 2012-02-29T22:20:34.213 回答