2011-05-26 44 views
1

我的DateChooser出现问题。当直接点击控件时,它会按照它应该的那样突出显示日期。 以编程方式选择日期时,不会显示。Flex:如何让DateChooser显示selectedDate

var date:Date = notification.getBody() as Date; 
_view.dcMiniCalendar.selectedDate = date; 

痕迹告诉我,那date_view.dcMiniCalendar.selectedDate进行正确的价值观。

我已经尝试使用_view.dcMiniCalendar.invalidateDisplayList()(以及其他一些无效的函数),但既没有它们也没有,我得到的日期在控件中显示。

thx提前。 x_mtd

+0

解析它不要使用'as',因为它在无法投射时只返回null。使用类似'Date(notification.getBody())'的强制转换,但要确保body是实际的日期,否则会得到运行时错误。您可能需要自行转换它。 – 2011-05-26 13:12:57

+0

@J_A_X:这似乎不成问题。我现在用'_view.dcMiniCalendar.selectedDate = new Date(2011,4,15)静态地分配这个值;'但是没有效果。嗯...我开始想知道这种效果是否可能是由我用于选择的风格造成的。但是它不应该以任何方式工作,对吧? – Max 2011-05-26 13:41:41

+0

显示更多编码。您可能在日历准备就绪之前设置它。 – 2011-05-26 13:44:38

回答

2

您确定notification.getBody()会返回有效日期吗?

矿井工作得很好。

<mx:DateChooser id="dateChooser" /> 

<s:Button click="button1_clickHandler(event)" /> 

protected function button1_clickHandler(event:MouseEvent):void 
{ 
    var myDate:Date = new Date(2012, 11, 21); 
    dateChooser.selectedDate = myDate; 
} 

什么是notification.getBody()的退货类型?如果它是string,请使用Date.parse()

+0

thx为您的答案,但正如上面发表评论这不适合我。 – Max 2011-05-26 13:42:57

+0

那么你确定'date'变成了一个适当的'Date'对象吗?您是否在尝试创建后检查所有字段是否已正确填充?尝试运行我的例子,看看它是否工作。另外notification.getBody()返回什么?什么样的 ? – 2011-05-26 13:46:21

+0

Thx为您提供帮助。最后问题出现在另一个地方:使用PureMVC我不介意,我的介体在另一个视图上使用。由于我的功能已经工作,但我只是没有看到......那种愚蠢的:S – Max 2011-05-31 16:09:17