我正在尝试在表单中加载记录。其中一个字段类型是“datefield”,并且以毫秒为单位记录一个字段。
parital记录数据:
topAccount:"ALPINE"
tradeDate:1360167174553
tradeId:"2110720401"
并且视图是
xtype: 'datefield',
name: 'tradeDate',
itemId: 'tradeDate',
margin: 8,
fieldLabel: 'Trade Date:',
renderer: Ext.util.Format.dateRenderer('Y/m/d'),
但是,当表单加载了记录时,我得到空字段。
有人可以帮我解决这个问题吗?
由于 Tharahan
答案 0 :(得分:5)
1360167174553
不是此目的的有效日期。 1920-12-01T13:00
是。
如果查看Date datatype,您会看到:
DATE: {
convert: function(v) {
var df = this.dateReadFormat || this.dateFormat,
parsed;
if (!v) {
return null;
}
if (Ext.isDate(v)) {
return v;
}
if (df) {
return Ext.Date.parse(v, df);
}
parsed = Date.parse(v);
return parsed ? new Date(parsed) : null;
},
sortType: st.asDate,
type: 'date'
}
});
使用数字,Ext.isDate()
将失败。然后,Ext.Date.parse
和Date.parse
都需要一个字符串,其标记不仅仅支持毫秒。
如果你坚持使用毫秒,请尝试:
Ext.define('YourModel', {
extend: 'Ext.data.Model',
fields: [
{name: 'tradeDate', dateFormat: 'u' }
]
});