FLEX string类型的数据如何显示在datefield中?

你得重写 set data方法 你新建下面这个mxml文件,用另一种格式

然后<mx:DataGridColumn headerText="执行日期" width="100" itemEditor="文件名"/>

<?xml version="1.0" encoding="utf-8"?>

<mx:DateField xmlns:mx="/2006/mxml" formatString="YYYY.MM.DD">

<mx:Script>

<![CDATA[

import mx.controls.listClasses.BaseListData;

import mx.controls.listClasses.ListData;

import mx.events.FlexEvent;

import mx.controls.dataGridClasses.DataGridListData;

private var _data:Object;

private var _listData:BaseListData;

private var selectedDateSet:Boolean;

override public function get listData():BaseListData

{

return _listData;

}

/**

* @private

*/

override public function set listData(value:BaseListData):void

{

_listData = value;

}

override public function set data(value:Object):void

{

var newDate:Date;

_data = value;

var str:String=_data[DataGridListData(_listData).dataField];

if(str==null)

str="";

newDate = DateField.stringToDate(str,"YYYY.MM.DD");

if (!selectedDateSet)

{

selectedDate = newDate;

selectedDateSet = false;

}

dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE));

}

override public function get data():Object

{

return _data;

}

]]>

</mx:Script>

</mx:DateField>