使用asp.net MVC Wrapper在Kendo UI Grid中格式化DateTime

leo*_*ira 30 c# datetime asp.net-mvc-4 kendo-grid kendo-asp.net-mvc

我想构建一个格式为日期dd // MM/yyyy的Kendo UI Grid.但是,我发现的所有问题都是用代码格式("{0:d}")解决的; .所以,我尝试过如下代码:

GridBoundColumnBuilder<TModel> builder = par.Bound(field.Name);

        switch (field.Type.Type)
        {
            case CType.Boolean:
                builder = builder.ClientTemplate(string.Format("<input type='checkbox' #= {0} ? checked='checked' : '' # disabled='disabled' ></input>", 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;
        }
Run Code Online (Sandbox Code Playgroud)

另一种格式工作正常,只是DateTime不起作用.

我有这个结果的日期时间= /日期(1377020142000)/

Jai*_*min 74

如果要在kendo网格中显示日期时间格式,请执行此操作,

.Format("{0:dd/MM/yyyy}") 
Run Code Online (Sandbox Code Playgroud)

要么

builder.ToString("dd/MM/yyyy");
Run Code Online (Sandbox Code Playgroud)


小智 13

.Format("{0:" + System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern + "}");
Run Code Online (Sandbox Code Playgroud)

System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat中可能还有其他一些选项可能对您有用,如果这不是您想要的.


use*_*388 13

其他解决方案很接近,但没有雪茄......这对我有用:

columns.Bound(c => c.CreatedDate).ClientTemplate("#= kendo.toString(kendo.parseDate(CreatedDate), 'dd/MM/yyyy') #");
Run Code Online (Sandbox Code Playgroud)

  • 您的过滤应该在服务器端完成,而不是客户端。您可能想尝试与此处使用的“ItemTemplate”等效的 .NET MVC https://docs.telerik.com/kendo-ui/api/javascript/ui/grid/configuration/columns.filterable.itemtemplate(我不能t 很容易找到一个 .NET MVC 参考)。 (2认同)

Mil*_*lan 5

试试这个,这会起作用。

.ClientTemplate("#= kendo.toString(kendo.parseDate(Date,'dd/MM/yyyy'), '" +  CurrentDateFormat + "') #");
Run Code Online (Sandbox Code Playgroud)