Встроенный Кендо UI механизм сортировки может работать только с отдельными скалярными величинами (строки, числа, даты, логические). Сортировка диапазонов дат не определена и не поддерживается, например, неясно, как следует сортировать диапазон дат - по дате начала, по дате окончания или по длительности?
Если вы хотите отсортировать по дате, не добавляйте их в данные, с которыми связана сетка. Используйте два отдельных поля в источнике данных Grid и привяжите столбец к полю, в котором вы хотите сортировать. Вы можете отобразить обе даты в одном столбце с помощью шаблона колонки:
columns: [{
field: "StartDateField",
title: "Date Range",
template: "#= kendo.toString(StartDateField, 'MM/dd/yyyy') # - #= kendo.toString(EndDateField, 'MM/dd/yyyy') #"
}]
Две даты должны быть JavaScript объекты дата, а не строки. Их тип поля данных должен быть установлен в "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
Как являются FromDate и даты Todate хранятся? У них обоих есть свой столбец в базе данных? Почему бы не отобразить два столбца в вашей сетке вместо одного? – Supersnake
fromdate и todate находятся в отдельном столбце, привязывая ui, объединяя два значения в одном столбце с именем Expire Period:, thats the require. есть ли способ? –