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>