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'})
]
});
2001-11-05T00:00:00这个日期格式不合法哦。
如果我的回答帮助了您,或者您希望得到小喵进一步的回答,请先采纳这个回答。
如果您觉得小喵的回答在所有回答中不是最好的,也请您在采纳别的大牛哥哥的答案的同时,点一个赞给我吧,您对小喵的鼓励是我前进的动力。
方法是光标移动到右边,点击采纳即可。这个步骤轻而易举,绝不耽误您宝贵的时间。
采纳我的回答还有如下好处:
(1)得到进一步深入的回答
(2)同时增加您的经验和人品,事实证明,采纳率高的用户,专家们更愿意回答你的提问,得到答案的速度和效率也更高。
(3)毫不耗费您的积分
可怜的小喵妹妹拜托您啦。祝您工作顺利~心想事成!
function(t){ return Ext.util.Format.date(Ext.Date.parse(t,'Ymd',true),'Y年m月d日');}