每日一个知识点4 2014/5/30

本文介绍了解决ExtJS 4.1中Grid组件日期字段在IE及Firefox浏览器显示为空的问题。通过在Model中使用convert方法将日期格式化为正确格式,实现了在不同浏览器中的正常显示。


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是相对合适的解决方法,如果有朋友遇到类似的问题,欢迎补充和纠正.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值