2016-08-24 4 views
0

剣道の欄にPeriodDateという列があります。私は日付をタイプとして設定し、剣道の日付の並べ替えをフォーマットしますが、そのフィールドでは日付と日付を処理しません。剣道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

?どちらもデータベースに独自の列を持っていますか?グリッドに2つの列を表示するのはなぜですか? – Supersnake

+0

fromdateとtodateは個別の列にあり、uiをバインドしている間、Expire Period:という単一の列名で2つの値をマージします。何かする方法はありますか? –

答えて

1

組み込みの剣道UIソートメカニズムは、単一のスカラー値(文字列、数字、日付、ブール値)でのみ機能します。日付範囲のソートは定義されておらず、サポートされていません。たとえば、開始日、終了日、期間別に日付範囲をソートする方法が不明です。

日付のいずれかでソートする場合は、グリッドがバインドされているデータにマージしないでください。グリッドデータソースでは2つの別々のフィールドを使用し、ソートするフィールドには列をバインドします。あなたは、列テンプレートを経由して同じ列の両方の日付を表示することができます。

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

また、あなたは、単一のデータフィールドクライアント側で二つの日付を維持し、サーバコードを経由してソートするために、サーバー側のデータ操作を使用することができます。これにより、範囲の長さで並べ替えることもできます。 FROMDATEからtoDateまでの日付が格納されているどのように

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

関連する問題