Mybonnie1
2015-01-22 04:00
采纳率: 100%
浏览 2.5k
已采纳

ExtJS4 grid日期格式问题

grid显示出问题,在网上找了解决办法做了格式转换显示正常了,插入修改都没问题,但是删除数据的时候报错,grid页面上显示的是2001-11-05,但是rec.data获取到的是
Mon Nov 05 2001 00:00:00 GMT+0800 (中国标准时间) 这种格式,怎么解决啊,求助

Field error in object 'book' on field 'date': rejected value [2001-11-05T00:00:00]; codes [typeMismatch.book.date,typeMismatch.date,typeMismatch.java.util.Date,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [book.date,date]; arguments []; default message [date]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date' for property 'date'; nested exception is java.lang.IllegalArgumentException: Could not parse date: Unparseable date: "2001-11-05T00:00:00"]


Book.del = function (grid, rowIndex, colIndex){
Ext.Msg.confirm("提示","你确定要删除该记录么?",function(confirm){
if("yes" == confirm){
var store = grid.getStore();
var rec = store.getAt(rowIndex);
Ext.Ajax.request({
url:
params:rec.data,
success: function(response){
var text = response.responseText;
var result = Ext.JSON.decode(text);
if(result.success){
Ext.Msg.alert("信息","删除成功");
store.reload();
}else{
Ext.Msg.alert("错误",result.message);
}
}
});
}

});
};


function Todate(v) {
        if(v == null)
        {
          return null;
        }
    var d = new Date();
    var str = v.toString();
    var str1 = str.replace("/Date(", "");
    var str2 = str1.replace(")/", "");
    var dd = parseInt(str2);
    d.setTime(dd);
return d;
  };
Book.store = Ext.create('Ext.data.Store',{
fields:[
'bookName',
'author',
'bookType',
'createBy',
{ name: 'date',type:'date',dateFormat: 'Y-m-d', convert: Todate }
],
proxy: {
type: 'ajax',
url : "bookController.ajax?method=listBook",
reader: {
type: 'json',
root: 'resultList',
totalProperty: 'totalCount'
}
}
});


{
    text:'出版日期',
    dataIndex:'date',
    renderer: Ext.util.Format.dateRenderer('Y-m-d'),
    width:200
}

Book.formPanel = Ext.create('Ext.form.Panel',{
bodyPadding: 10,
defaultType:'textfield',
items:[
{fieldLabel:'书名',name:'bookName',allowBlank:false},
{fieldLabel:'作者',name:'author',allowBlank:false},
{fieldLabel:'书籍类型',name:'bookType',allowBlank:false},
{fieldLabel:'出版日期',name:'date',xtype:'datefield',format:'Y-m-d',allowBlank:false},
new Ext.form.Hidden({name:'_saveType'}),
new Ext.form.Hidden({name:'id'})
]
});


  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • devmiao 2015-01-22 04:24
    已采纳

    2001-11-05T00:00:00这个日期格式不合法哦。

    如果我的回答帮助了您,或者您希望得到小喵进一步的回答,请先采纳这个回答。
    如果您觉得小喵的回答在所有回答中不是最好的,也请您在采纳别的大牛哥哥的答案的同时,点一个赞给我吧,您对小喵的鼓励是我前进的动力。
    方法是光标移动到右边,点击采纳即可。这个步骤轻而易举,绝不耽误您宝贵的时间。
    采纳我的回答还有如下好处:
    (1)得到进一步深入的回答
    (2)同时增加您的经验和人品,事实证明,采纳率高的用户,专家们更愿意回答你的提问,得到答案的速度和效率也更高。
    (3)毫不耗费您的积分
    图片说明
    可怜的小喵妹妹拜托您啦。祝您工作顺利~心想事成!

    已采纳该答案
    打赏 评论
  • pactera_li 2021-07-14 17:43

    function(t){ return Ext.util.Format.date(Ext.Date.parse(t,'Ymd',true),'Y年m月d日');}

    打赏 评论

相关推荐 更多相似问题