extjs 3.4 EditorGridPanel里日期控件在后台获取格式为"2015-10-10T00:00:00"的问题解决

背景:extjs3.4

需求:后台获取前台EditorGridPanel里选择的日期,然后转换为Timestamp ,timestamp的格式需要为'yyyy-MM-dd HH:mm:ss',但是从前台传递到后台的字符是'yyyy-MM-ddTHH:mm:ss' 。前台的日期显示格式需为“yyyy-MM-dd”。

关键代码:

this.fields = ["number","startTime"];

                this.col = new Ext.grid.ColumnModel({

 defaults:{

width:120,

sortable:true

 },

columns:[{

header:'序号',

dataIndex:'number'

},{

header:'开始日期',

dataIndex:'startTime',

editor:new Ext.form.DateField({

minValue :new Date()

}),

render:function(v){

if(v instanceof Date){

return new Date(v).format("Y-m-d");

}else{

return v.substr(0,10);

}

//renderer:Ext.util.Format.dateRenderer('Y-m-d')      用自己写的render是为了避免页面出现"0NaN-NaN-NaN"的异常

}]

});

this.store = new Ext.data.ArrayStore({

fields:this.fields,

data:this.data //这里就省略data的定义

});

this.grid = new Ext.grid.EditorGridPanel({

store:this.store,

cm:this.col,

width:300,

height:200

});

this.gridHidden = Ext.create({

xtype:'exhidden',

name:'mainList'           

});

在form提交之前重新对Grid里的数据进行格式转换

var dateArr = [];

var store = Ext.decode(this.grid.getGridData());

for(var i =0;i<store.lengh;i++){

var  d = store[i];

var rec = {};

rec.number = d.number;

rec.startTime = Ext.util.Format.date(d.startTime,"Y-m-d H:i:s");

dateArr .push(rec);

}

var jsonStr = Ext.encode(dateArr);

this.gridHidden.setValue(jsonStr );  //最终传递到后台的值



本人正处于extjs的学习阶段,如果哪路大神有更优的解决方案,麻烦指点一下!



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值