2016-08-24 10 views
0

검도 단위 열에 PeriodDate 열이 있습니다. 나는 형식으로 날짜를 설정하고 검도 날짜 정렬 형식을 가지고 있지만, 동일한 필드에서 fromdate 및 todate에서 작동하지 않습니다.검도 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를 바인딩하는 동안 하나의 열 이름에 두 값을 만료 기간 :으로 병합해야합니다. 할 수있는 방법이 있습니까? –

답변

1

내장 된 Kendo UI 정렬 메커니즘은 단일 스칼라 값 (문자열, 숫자, 날짜, 부울)에서만 작동합니다. 날짜 범위 정렬이 정의되지 않았고 지원되지 않습니다. 예를 들어 시작일, 종료일 또는 기간별로 날짜 범위를 정렬하는 방법이 명확하지 않은 경우?

날짜 중 하나를 기준으로 정렬하려면 그리드가 바인딩 된 데이터에 병합하지 마십시오. Grid dataSource에서 두 개의 개별 필드를 사용하고 정렬 할 필드에 열을 바인딩하십시오. 두 열의 날짜는 열 템플릿을 통해 동일한 열에 표시 할 수 있습니다.

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"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