我在kendo ui列中有一个PeriodDate列。我已将类型设置为日期并格式化了剑道日期排序,但它不能在相同的字段中使用fromdate和todate。
**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"**
答案 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