使用 columns.Bound 将字符串 ('yyyyMMddHHmmss') 转换为 Kendogrid 的日期格式
String ('yyyyMMddHHmmss') to date format with Kendogrid using columns.Bound
我从后端收到格式为 "yyyyMMddHHmmss" 的字符串。当它显示在 kendo 网格中时,我需要它具有 "MM/dd/yyyy HH:mm:ss".
的格式
我在 MVC 模型中工作,并试图在我们从后端获取日期时更改日期,但是当我们 运行 更新时,更新的行格式错误。
我试过了:
columns.Bound(p => p.UploadDate).Format("{0:yyyyMMddHHmmss}");
不格式化日期。
我也尝试了以下变体
columns.Bound(p => p.UploadDate).ClientTemplate("#=UploadDate ? kendo.toString(kendo.parseDate(UploadDate,yyyyMMddHHmmss), 'MM/dd/yyyy HH:mm:ss')#");
和
columns.Bound(p => p.UploadDate).ClientTemplate("#=kendo.toString(kendo.parseDate(UploadDate), 'MM/dd/yyyy HH:mm:ss')#");
两者都会在页面上造成 "Invalid template" 错误。
只有当 UploadDate
是您模型上的 DateTime
对象时,.Format()
函数才会起作用:
columns.Bound(p => p.UploadDate).Format("{0:yyyyMMddHHmmss}");
您的第一个 ClientTemplate 示例失败,因为您使用的是内联 shorthand if 语句,但缺少错误部分“:”(请参阅下面的客户端模板解决方案)。
我认为您的第二个 ClientTemplate 示例失败了,因为 "yyyyMMddHHmmss" 不是标准日期格式,因此 kendo.dateParse()
函数失败。
如果无法将字段转换为模型中的 DateTime,则必须使用 ClientTemplate。试试这个:
columns.Bound(p => p.UploadDate)
.ClientTemplate("#= UploadDate
? kendo.toString(kendo.parseDate(UploadDate, 'yyyyMMddHHmmss'), 'MM/dd/yyyy HH:mm:ss')
: '' #");
参考文献:
我从后端收到格式为 "yyyyMMddHHmmss" 的字符串。当它显示在 kendo 网格中时,我需要它具有 "MM/dd/yyyy HH:mm:ss".
的格式我在 MVC 模型中工作,并试图在我们从后端获取日期时更改日期,但是当我们 运行 更新时,更新的行格式错误。
我试过了:
columns.Bound(p => p.UploadDate).Format("{0:yyyyMMddHHmmss}");
不格式化日期。
我也尝试了以下变体
columns.Bound(p => p.UploadDate).ClientTemplate("#=UploadDate ? kendo.toString(kendo.parseDate(UploadDate,yyyyMMddHHmmss), 'MM/dd/yyyy HH:mm:ss')#");
和
columns.Bound(p => p.UploadDate).ClientTemplate("#=kendo.toString(kendo.parseDate(UploadDate), 'MM/dd/yyyy HH:mm:ss')#");
两者都会在页面上造成 "Invalid template" 错误。
只有当 UploadDate
是您模型上的 DateTime
对象时,.Format()
函数才会起作用:
columns.Bound(p => p.UploadDate).Format("{0:yyyyMMddHHmmss}");
您的第一个 ClientTemplate 示例失败,因为您使用的是内联 shorthand if 语句,但缺少错误部分“:”(请参阅下面的客户端模板解决方案)。
我认为您的第二个 ClientTemplate 示例失败了,因为 "yyyyMMddHHmmss" 不是标准日期格式,因此 kendo.dateParse()
函数失败。
如果无法将字段转换为模型中的 DateTime,则必须使用 ClientTemplate。试试这个:
columns.Bound(p => p.UploadDate)
.ClientTemplate("#= UploadDate
? kendo.toString(kendo.parseDate(UploadDate, 'yyyyMMddHHmmss'), 'MM/dd/yyyy HH:mm:ss')
: '' #");
参考文献: