使用asp.net MVC Wrapper在Kendo UI Grid中格式化DateTime
我想构建一个格式为日期dd // MM / yyyy的Kendo UI Grid。 但是,我发现的所有问题都是用代码格式(“{0:d}”)解决的; 。 所以,我尝试过如下代码:
GridBoundColumnBuilder builder = par.Bound(field.Name); switch (field.Type.Type) { case CType.Boolean: builder = builder.ClientTemplate(string.Format("", field.Name)); break; case CType.Datetime: builder = builder.Format("{0:d}"); break; case CType.Decimal: case CType.Double: builder = builder.Format("{0:0.00}"); break; }
另一种格式工作正常,只是DateTime不起作用。
我有这个结果的日期时间= /日期(1377020142000)/
如果要在kendo网格中显示日期时间格式,请执行此操作,
.Format("{0:dd/MM/yyyy}")
要么
builder.ToString("dd/MM/yyyy");
.Format("{0:" + System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern + "}");
System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat中可能还有其他一些选项可能对您有用,如果这不是您想要的。
其他解决方案很接近,但没有雪茄……这对我有用:
columns.Bound(c => c.CreatedDate).ClientTemplate("#= kendo.toString(kendo.parseDate(CreatedDate), 'dd/MM/yyyy') #");
也可以用:
columns.Bound(c => c.DateCreate).Format("{0:G}")
与https://docs.telerik.com/kendo-ui/framework/globalization/dateformatting一样
试试这个,这将有效。
.ClientTemplate("#= kendo.toString(kendo.parseDate(Date,'dd/MM/yyyy'), '" + CurrentDateFormat + "') #");
我不知道Kendo UI,但它看起来像你想要传递字符串格式化日期而不是DateTime对象。
/Date(...)/
输出看起来像.Net的JSON格式日期。
我会使用像myDateTime.ToString("dd/MM/yyyy");
类的myDateTime.ToString("dd/MM/yyyy");
将日期转换为字符串myDateTime.ToString("dd/MM/yyyy");
在将它传递给控件之前。
核心问题在这里记录得非常好。 将答案与我发现的其他内容结合起来,这就是我必须要做的才能让它在我的项目上工作。
在C#代码中:
.Template("#= kendo.toString(parseDate(" + field.Name + "), 'dd/MM/yyyy') #");
然后,创建一个javascript函数:
function parseDate(d) { d = new Date(parseInt(d.replace(//Date((-?d+))//gi, "$1"), 10)); return d; }
这有点像kluge,但有效。
上述就是C#学习教程:使用asp.net MVC Wrapper在Kendo UI Grid中格式化DateTime分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/951291.html