提问者:小点点

为什么剑道Ui-网格日期排序不正确?


值为ReinsDepositAmount

**

**

我最近在kendo UI网格中存储了一个应用程序日期排序。

在剑道网格中,列名是这样定义的

reinsdepositdate的传入值-月、日、年格式。1991年8月23日

字段名称为ReinsDepositDate:

{
    field: "ReinsDepositDate", type: "date", title: "Due Date",format: "{0:M/d/yyyy}", width: 100, filterable: {
              cell: {
                   operator: "contains"  
                    }
            }
},

在对日期进行排序时,其排序基于第一个值

  1. 1994年1/12
  2. 2015年1月23日
  3. 1992年1月13日

意思是当我提升的时候

  1. 1994年1/12
  2. 1992年1月13日
  3. 2015年1月23日

所以我把模式模型

不过,我还是得到了同样的结果。

 schema: {
                model: {
                    fields: {
                        ReinsDepositDate: { type: "date",format: "{0:dd/MM/yyyy}"}
                    }
                }
            },

我看过很多小提琴演示,这里什么都不起作用,为什么:

参考:http://fiddle.jshell.net/nqrds/light/Kendo网格日期列未格式化

设计流程:

设计流程是利用angular Http服务,通过API从数据库中获取值,并将响应分配给kendo网格中的数据源。当我用JSON文件做演示时,它工作得很好。但同样的事情适用于这里意味着不工作。所以我转到自定义javascript进行排序。列:[$scope.grdprmiumdepositcol,-

kendo sortable属性中的自定义javascript将完成这一任务。这部分做得很好。

 { field: "ReinsDepositDate", format: "{0:MM/dd/yyyy}",type:"date",  sortable:{  compare: function (a, b) {
                           var c = new Date(a.ReinsDepositDate);
                            var d = new Date(b.ReinsDepositDate);
                            return c - d;
                        }`

                    }}],

我的问题是为什么我要这样做,因为kendo被赋予了日期格式,并且当我尝试使用transport的示例演示时,read with JSON文件可以很好地使用kendo格式。还在迷茫中。


共1个答案

匿名用户

根据所提供的信息,不清楚排序是在客户端上执行,还是在服务器上执行。

如果排序是由Kendo UI数据源在客户端上完成的,那么应该以正确的格式提供日期值,以便Kendo UI将它们解析为JavaScript日期对象。可以解析多种不同的格式,但DD-MM-YYYY不是其中之一。

这里有一个例子,它演示了上面的内容。您将注意到空行,其中的日期尚未解析。

http://dojo.telerik.com/ucexo/2

通常,建议使用普遍接受的标准序列化日期:

https://stackoverflow.com/A/15952652/3086237

如果排序是在服务器上执行的,那么Kendo UI与问题无关,您应该调试服务器端实现。