当前位置: 代码迷 >> Java Web开发 >> ExtJs 处理 datetime 有关问题
  详细解决方案

ExtJs 处理 datetime 有关问题

热度:5622   发布时间:2013-02-25 21:13:07.0
ExtJs 处理 datetime 问题
我在用ExtJs来做一个GridPanel 

我从web service 传出一个已转成json格式 的 datetime 类型的数据. 显示为 /Date(1262577888997)/ 的样子.. 

我应该怎样做才能正确显示时间呢??  

以下是代码.


Store


JScript code
    var myStore = new Ext.data.JsonStore({        autoLoad: true,        proxy: new Ext.data.HttpProxy({            url: 'PttGetData.asmx/qryCancelableById',            headers: { 'Content-type': 'application/json' }        }),        root: 'd',        fields: ['TermId',        { name: 'MsgTime' },                 'CardId', 'SimNo', 'ShiftSN', 'CmdType', 'CmdMsg', 'IsSucc', 'T_isRec', 'T_IsCommit',         { name: 'SendTime'},         { name: 'RecvTime'},         { name: 'CommitTime'}]    });




GridPanel

JScript code
var grid = new Ext.grid.GridPanel({        store: myStore,        columns: [                        { header: "信息收发时间", dataIndex: 'MsgTime' },                        { header: "终端号", dataIndex: 'TermId', sortable: true },                        { header: "车牌号", dataIndex: 'CardId', sortable: true },                        { header: "终端sim卡号", dataIndex: 'SimNo', sortable: true },                        { header: "作业流水号/航次号/班次号", dataIndex: 'ShiftSN', sortable: true },                        { header: "命令类型", dataIndex: 'CmdType', sortable: true },                        { header: "命令信息内容", dataIndex: 'CmdMsg', sortable: true },                        { header: "收发是否成功", dataIndex: 'IsSucc', sortable: true },                        { header: "终端是否收到", dataIndex: 'T_isRec', sortable: true },                        { header: "终端是否人工确认", dataIndex: 'T_IsCommit', sortable: true },                        { header: "下发时间", dataIndex: 'SendTime', sortable: true },                        { header: "接收时间", dataIndex: 'RecvTime', sortable: true },                        { header: "人工确认时间", dataIndex: 'CommitTime', sortable: true }                    ],        sm: new Ext.grid.RowSelectionModel({ singleSelect: true }),        viewConfig: {            forceFit: true        },        height: 210,        width: 1024,        split: true,        region: 'north'    });





谢谢


------解决方案--------------------------------------------------------
比如你的最后一行

 { header: "人工确认时间", dataIndex: 'CommitTime', sortable: true,
renderer: Ext.util.Format.dateRenderer('Y年m月d日 H时i分s秒') }

------解决方案--------------------------------------------------------
把你的日期一个一个传回来测试
可能是返回格式或者类型对应不上
------解决方案--------------------------------------------------------
ajax时js抛出‘例外被抛出且未被接住’异常,根源在于JSON,传入了非法的json字符串所以才报的这个错误。
你使用eval的时候,改下这样试试

Java code
var str="new " + record.substr(1, record.length - 2);return eval("(" +str+")").toLocaleString();
------解决方案--------------------------------------------------------
EXT 日期转化
http://blog.csdn.net/liu_moyan/archive/2009/12/17/5023536.aspx
------解决方案--------------------------------------------------------
function rendeDate(record) {
return eval("new " + record.substr(1, record.length - 2)).toLocaleString()+")");
}
------解决方案--------------------------------------------------------
探讨
比如你的最后一行

{ header: "人工确认时间", dataIndex: 'CommitTime', sortable: true,
  相关解决方案