更改flex DateField的值.文本属性设置selectedDate属性为空



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

我需要设置文本属性,以便我可以使用特定的格式(dd - mm - yyyy)

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

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"/>
InputTxt.selectedDate = DateField.stringToDate(InputTxt.text, "DD/MM/YYYY");

参见AS Reference . DateField.stringToDate.

相关内容

  • 没有找到相关文章

最新更新