如何格式化商店数据,在我的情况下,它是返回日期,我将它绑定到Comobox
var comboDate = new Ext.form.ComboBox({ displayField: 'date', valueField: 'date', store: { type: 'webapi', autoLoad: true, api: { read: 'api/Report/GetDate' } } });
将它绑定为“Mon May 9 00:00:00 EDT 2016”
我尝试了几件事来解决它 -
dateFormat: 'c'
和
renderer: Utility.Formatting.ShortDateTime
请建议我如何在商店中应用日期格式
UPDATING 在这里我添加完整的代码 - 我试图将日期绑定到网格中的组合框。
header: 'From Date', dataIndex: 'date', editor: comboDate, renderer: comboBoxDateRenderer(comboDate)
var comboBoxDateRenderer = function (comboDate) {
return function (value) {
var idx = comboDate.store.find(comboDate.valueField, value);//Ext.util.Format.date(value, "Y-m-d")
var rec = comboDate.store.getAt(idx);
return (rec === null ? '' : rec.get(comboDate.displayField));
};
}
var comboDate = new Ext.form.ComboBox({
displayField: 'date',
valueField: 'date',
//dateFormat: 'c',
store: {
type: 'webapi',
autoLoad: true,
fields: [
{ name: 'date', type: 'date', dateFormat: 'c' }
],
api: {
read: 'api/Report/GetDate'
}
}
});
答案 0 :(得分:0)
该值是标准日期对象。您可以使用XTemplates格式化displayfield:https://fiddle.sencha.com/#fiddle/1a37
列表模板:
tpl: Ext.XTemplate(
'<tpl for=".">'+
'<div class="x-boundlist-item">' +
'{[Ext.util.Format.date(values.date, "d/m/y")]}' +
'</div>'+
'</tpl>'
),
显示字段模板:
displayTpl: Ext.XTemplate(
'<tpl for=".">'+
'{[Ext.util.Format.date(values.date, "d/m/y")]}'+
'</tpl>'
),
请记住,这只是纯格式化显示输出。