在我的网格中,我有一个包含以下参数的日期列:
update: {
url: ROOT+"user/update-user",
type: "POST"
}
columns: [
{...},
{
field: "DoB",
width: 68,
title: "DoB",
format: "{0:dd/MM/yyyy}",
template: '#= kendo.toString(DoB,"dd/MM/yyyy") #'
},
{...}
datasource: {
...
schema: {
model: {
DoB: {type: "date", editable: false, format: "{0:dd/MM/yyyy}"},
}
}
}
问题是,当我尝试更新日期列时,它发送的是一个非常长的日期,而不是 SQL 样式日期“YYYY-MM-DD”:
Wed Jan 09 2003 00:00:00 GMT +0000 etc
知道是什么原因造成的吗?
最佳答案
原因是因为当 KendoUI 即将向服务器发送数据时,它会将您的数据序列化为 string
并且 date
类型的默认序列化为 long 格式。
您可以通过将 transport.update
定义为以下方式来调整数据以将其发送到服务器:
update: {
url : ROOT + "user/update-user",
type: "POST",
data: function (data) {
data.DoB = kendo.toString(data.DoB, "yyyy-MM-dd");
return data;
}
},
注意您可能需要一些额外的验证以确保实际定义了DoB
关于javascript - Kendo UI Grid 长日期更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14314060/