Extjs4.1:Grid中date数据在IE,Firefox浏览器中不显示
最近小试extjs的mvc模式做例子,后台结合国内比较牛的开源框架nutz,但是在做的过程中发现date类型在ie和firefox浏览器中都显示为空,在model中
{ name: 'joinTime', type: 'date',dataFormat:'Y-m-d'},
grid中column:
{ header: '入司时间', dataIndex: 'joinTime', flex: 1,xtype:'datecolumn', format:'Y-m-d'},
这样的配置,日期显示空白,从网络上搜下类似的问题,有这些解决方法:
1.renderer多加个转换(貌似这里用不上)
renderer: function(v){ return (Ext.Date.parse(v, 'Y/m/d H:i:s')).format('Y/m/d'); }
2.后台直接把日期格式化;
3.使用默认的日期格式:renderer: Ext.util.Format.dateRenderer(‘Y/m/d’).
However,这些都渠道预期的效果,model的field可以加上
convert : Function
A function which converts the value provided by the Reader into an object that will be stored in the Model.
model中的field改成:
{ name: 'joinTime', type: 'date',dataFormat:'Y-m-d',convert:function(v){ if(Ext.isDate(v)){ return new Date(v).format("Y-m-d"); }else{ return v.substring(0,10); } }},
在IE,Firefox和Chrome浏览器中显示正常,加上convert是相对合适的解决方法,如果有朋友遇到类似的问题,欢迎补充和纠正.
本文介绍了解决ExtJS 4.1中Grid组件日期字段在IE及Firefox浏览器显示为空的问题。通过在Model中使用convert方法将日期格式化为正确格式,实现了在不同浏览器中的正常显示。

被折叠的 条评论
为什么被折叠?



