Kendo UI - 如何只捕获网格中日期字段的分和秒?
Kendo UI - How do I capture only minutes and seconds for a date field in a grid?
如何仅将 minutes/seconds 从 Kendo UI 网格发送到接收我的行数据以进行更新操作的服务器 api 方法?
使用以下格式,我希望小时数为零,并且模型只接收分钟和秒数,而不是小时数。
这可能吗?
编辑
WebApi更新方式
public void Post(int id, [FromBody]Episode value)
{
var episode = db.Episodes.Find(value.id);
episode.DurationMinutes = value.DurationMinutes;
episode.DurationSeconds = value.DurationSeconds;
episode.Duration = new TimeSpan(0, value.DurationMinutes, value.DurationSeconds);
db.SaveChanges();
}
数据库模型
public partial class Episode
{
public int Id { get; set; }
public Nullable<System.TimeSpan> Duration { get; set; }
public int DurationMinutes { get; set; }
public int DurationSeconds { get; set; }
}
Kendo 列数组 - 这是我尝试 "get" 我发布的值但在我的 Kendo 网格中我未定义的地方!
var columns = [{
field: "Duration",
title: "Duration",
template: "#= DurationMinutes + ':' + DurationSeconds #",
width: 100
},
{
field: "DurationMinutes",
title: "DurationMinutes",
width: 100,
//hidden: true
},
{
field: "DurationSeconds",
title: "DurationSeconds",
width: 100,
//hidden: true
}];
参数映射定义
parameterMap: function (data, operation) {
if (operation === "update") {
var mm = data.Duration.split(':')[0];
var ss = data.Duration.split(':')[1];
data.DurationMinutes = mm;
data.DurationSeconds = ss;
return kendo.data.transports.odata.parameterMap(data);
}
}
适当的方法是定义您自己的 parameterMap function for the transport. The work-around would be to use the dataSource.transport.update.data 函数来修改数据对象或向其添加一个使用您提到的格式的值。
如何仅将 minutes/seconds 从 Kendo UI 网格发送到接收我的行数据以进行更新操作的服务器 api 方法?
使用以下格式,我希望小时数为零,并且模型只接收分钟和秒数,而不是小时数。
这可能吗?
编辑
WebApi更新方式
public void Post(int id, [FromBody]Episode value)
{
var episode = db.Episodes.Find(value.id);
episode.DurationMinutes = value.DurationMinutes;
episode.DurationSeconds = value.DurationSeconds;
episode.Duration = new TimeSpan(0, value.DurationMinutes, value.DurationSeconds);
db.SaveChanges();
}
数据库模型
public partial class Episode
{
public int Id { get; set; }
public Nullable<System.TimeSpan> Duration { get; set; }
public int DurationMinutes { get; set; }
public int DurationSeconds { get; set; }
}
Kendo 列数组 - 这是我尝试 "get" 我发布的值但在我的 Kendo 网格中我未定义的地方!
var columns = [{
field: "Duration",
title: "Duration",
template: "#= DurationMinutes + ':' + DurationSeconds #",
width: 100
},
{
field: "DurationMinutes",
title: "DurationMinutes",
width: 100,
//hidden: true
},
{
field: "DurationSeconds",
title: "DurationSeconds",
width: 100,
//hidden: true
}];
参数映射定义
parameterMap: function (data, operation) {
if (operation === "update") {
var mm = data.Duration.split(':')[0];
var ss = data.Duration.split(':')[1];
data.DurationMinutes = mm;
data.DurationSeconds = ss;
return kendo.data.transports.odata.parameterMap(data);
}
}
适当的方法是定义您自己的 parameterMap function for the transport. The work-around would be to use the dataSource.transport.update.data 函数来修改数据对象或向其添加一个使用您提到的格式的值。