更改flex DateField.text属性的值,将selectedDate属性设置为null

时间:2011-07-26 17:24:19

标签: flex text properties datefield

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

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

2 个答案:

答案 0 :(得分: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"/>

答案 1 :(得分:1)

InputTxt.selectedDate = DateField.stringToDate(InputTxt.text, "DD/MM/YYYY");

请参阅DateField.stringToDate的AS参考。