我需要在网格上显示4个不同的日期字段。 其中2个将直接显示为列,并且当展开行时,所有这些都将可见。
我正在使用ExtJS 4.2.1
网格以我想要的格式显示日期(如27-12-2013 11:30),但我无法使扩展区域显示格式化日期。
我从java向Json添加日期,如下所示。
if(account.getCreated() != null)
accountJson.put("created", new SimpleDateFormat("yyyy/MM/dd hh:mm").format(account.getCreated()));
if(account.getModified() != null)
accountJson.put("modified", new SimpleDateFormat("yyyy/MM/dd hh:mm").format(account.getModified()));
if(account.getBeginDate() != null)
accountJson.put("beginDate", new SimpleDateFormat("yyyy/MM/dd hh:mm").format(account.getBeginDate()));
if(account.getEndDate() != null)
accountJson.put("endDate", new SimpleDateFormat("yyyy/MM/dd hh:mm").format(account.getEndDate()));
我的分机字段:
........
{name: "created", type: 'date'},
{name: "modified", type: 'date'},
{name: "beginDate", type: 'date'},
{name: "endDate", type: 'date'}
网格列:
{text: 'Başlangıç Tarihi', sortable: true, dataIndex: 'beginDate', renderer: Ext.util.Format.dateRenderer('d-m-Y H:i')},
{text: 'Bitiş Zamanı', sortable: true, dataIndex: 'endDate', renderer: Ext.util.Format.dateRenderer('d-m-Y H:i')}
rowexpander - rowBodyTpl:
'<table class="infoTable">' +
"<tr><th>Oluşturma Tarihi</th><td>{created}</td><th>Başlangıç Tarihi</th><td>{beginDate}</td></tr>" +
"<tr><th>Değiştirme Tarihi</th><td>{modified}</td><th>Bitiş Tarihi</th><td>{endDate}</td></tr>" +
"</table>"
为了表明我的意思,这里有一些截图
在第二张图片中,您还可以看到我需要将一些int值转换为String。我试图将它们发送到像 ..扩展的Tpl ... + + myFormatter(“{beginDate}”)+“......扩展控制的Tpl ...... 这样的函数不起作用:
答案 0 :(得分:5)
重新格式化日期的方法是来自date
的{{1}}。示例:
Ext.util.Format
此外,我相信渲染器应该起作用:
Ext.util.Format.date( myDateValue, 'm/d/Y' );
另一个选项可能是修改renderer: function(value){
return Ext.util.Format.date( value, 'm/d/Y' );;
}
Ext.data.Model
中的值。 field
有一个Ext.data.Field
选项config
。
convert
您可以转换特定字段的值,也可以使用转换后的值添加另一个字段。