EXTjs 从Java后端传来的Data数据 grid动态转换为标准格式的时间

前景: 我们在后端操作时间的时候,往往定义的Date格式,而extjs显示的时候,如果直接显示的是Date,往往不显示,或者一堆NaNaNa。。。


1. Extjs 的gridStrore:

/** 拜访记录store */
var visitRecordGridStore = new Ext.data.Store({
		proxy: new Ext.data.HttpProxy({
	    	url:'./customer/visitRecord/listByCustomerId'}),
	    reader: new Ext.data.JsonReader({}, [
	        {name: 'id'},
	        {
	        	name: 'visitDt',
	        	type: 'date',
	        	mappping: 'visitDt.fastTime',
	        	convert:function(v,f){
	        		if(v == null){
	        			return '';
	        		}
        			var dt = new Date();
        			dt.setTime(v);
        			return Ext.util.Format.date(dt,'Y-m-d');
	        	}
	        },
	        {name: 'currentStatus'},
	        {name: 'remark'}
	    ]),
	    pruneModifiedRecords:true
});
注:从后端返回的object中时间的属性名是visitDt. 但是要用到是的visitDt.fastTime.  或者是visitDt.time (貌似 jre 不同,属性名还不一定,总之debug一下,看到属性里包含的属性fastTime 是一串数字——表示的是时间);  里面还用到了mapping 对应的就是visitDt.fastTIme .


2. grid 的column 就是正常的column,无需有其他改变。

columns: [{
	            					header : 'id',
	            					dataIndex : 'id',
	            					hidden: true,
	            					align : 'center'
	            				},{
	            					header : '拜访日期',
	            					dataIndex : 'visitDt',
	            					align : 'center',
	            					format:'Y-m-d'
	            					renderer:Ext.util.Format.dateRenderer('Y-m-d')
	            				},{
	            					header : '进展情况',
	            					dataIndex : 'currentStatus',
	            					align : 'center'
	            				},{
	            					header : '备注',
	            					dataIndex : 'remark',
	            					align : 'center'
	            				}]


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值