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

来源:互联网 发布:单片机嵌入式自学 编辑:程序博客网 时间:2024/05/16 11:19

前景: 我们在后端操作时间的时候,往往定义的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'            }]


0 0
原创粉丝点击