flex 3图表组件中是否有办法使用水平DateTimeAxis显示日期和时间?
目前,DateTimeAxis元素有一个属性dataunits,允许将值设置为“毫秒|秒|分钟|小时|天|周|月|年”中的任何一个,但我想将标签显示为“2009/09 / 15 06:00:00“,其中包括日期和时间。
以下是我正在使用的样本
[Bindable]
public var deck:ArrayCollection = new ArrayCollection([
{date:"2009-09-15 06:00:00", close:42.71},
{date:"2009-09-16 06:15:00", close:42.99}
]);
public function myParseFunction(s:String):Date {
var sDate = s.substring(0,s.indexOf(" "));
var sTime = s.substring(s.indexOf(" "));
var aDate = sDate.split("-");
var aTime = sTime.split(":");
return new Date(aDate[0],(aDate[1]*1-1),aDate[2],aTime[0],aTime[1],aTime[2],0);
}
]]>
提前致谢。
答案 0 :(得分:2)
要解决此问题,您必须扩展< mx:DateTimeAxis> (不幸的是)。
但是,这并不难,并在此处发布了一个示例:http://codeznips.blogspot.com/2010/12/escape-american-date-format-in.html
您可能需要通过添加formatSeconds()
并设置formatStringSeconds = "YYYY/MM/DD JJ:NN:SS"
来进一步扩展上述示例。
或者可以只使用现有的formatStringDays
并设置dataUnits = "days"
,如下所示:
<mx:horizontalAxis> <charts:FormattedDateTimeAxis formatStringDays="YYYY/MM/DD JJ:NN:SS" dataUnits = "days"/> </mx:horizontalAxis>
维加德