2016-08-24 36 views
0

我在kendo ui專欄中有一列PeriodDate。我已經將類型設置爲日期並對kendo日期排序進行了格式化,但是它不能在fromdate和todate中處理相同的字段。如何在kendo ui網格的同一列中對最新和最新的數據進行排序

該值看起來像這個月/日期/年格式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"** 
+0

如何沒有fromdate和todate日期存儲?他們在數據庫中都有自己的專欄嗎?爲什麼不在網格中顯示兩列而不是一列? – Supersnake

+0

fromdate和todate在綁定ui時在單獨列中,將單列名稱中的兩個值合併爲Expire Period:,這就是要求。有什麼辦法嗎? –

回答

1

內置的Kendo UI排序機制只能使用單個標量值(字符串,數字,日期,布爾值)。日期範圍排序未定義,也不受支持,例如,不清楚如何排序日期範圍 - 按開始日期,結束日期或持續時間排序?

如果您想按日期排序,則不要將它們合併到網格所綁定的數據中。在網格數據源中使用兩個單獨的字段,並將列綁定到要排序的字段。您可以通過列模板在同一列中顯示兩個日期:

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

這兩個日期必須是JavaScript日期對象,而不是字符串。他們的數據字段類型應dataSource.schema.model.fields設置爲"date"

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

相關問題