如何在kendo ui网格中的同一列中对from-date和date进行排序

时间:2016-08-24 14:54:11

标签: javascript kendo-ui telerik kendo-grid telerik-grid

我在kendo ui列中有一个PeriodDate列。我已将类型设置为日期并格式化了剑道日期排序,但它不能在相同的字段中使用fromdate和todate。

该值看起来像月份/日期/年份格式enter image description here

**0:Object
ExpirePeriod: "06/16/2016 - 06/16/2016"
1:Object
CertificatePeriod: "07/16/1991 - 06/16/1992"
2:Object
CertificatePeriod: "01/16/1995 - 06/16/2017"
3:Object
CertificatePeriod: "01/16/2014 - 06/16/2017"**

1 个答案:

答案 0 :(得分:1)

内置的Kendo UI排序机制只能使用单个标量值(字符串,数字,日期,布尔值)。未定义和不支持日期范围的排序,例如,不清楚日期范围应如何排序 - 按开始日期,结束日期还是按持续时间排序?

如果要按其中一个日期排序,则不要将它们合并到Grid绑定到的数据中。在Grid dataSource中使用两个单独的字段,并将列绑定到要排序的字段。您可以通过列模板在同一列中显示两个日期:

columns: [{
    field: "StartDateField",
    title: "Date Range",
    template: "#= kendo.toString(StartDateField, 'MM/dd/yyyy') # - #= kendo.toString(EndDateField, 'MM/dd/yyyy') #"
}]

这两个日期必须是JavaScript Date对象,而不是字符串。他们的数据字段类型应设置为"date"中的dataSource.schema.model.fields

http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#configuration-schema.model

或者,您可以将两个日期保留在客户端的单个数据字段中,并使用服务器端数据操作通过服务器代码进行排序。这也允许您按范围长度排序。

http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#configuration-serverSorting

http://docs.telerik.com/kendo-ui/framework/datasource/overview#mixed-data-operations-mode