2017-04-10 9 views
0

グリッド内のDateTimeを正しくフォーマットする方法を知っている人はいますか? (このデータ型はサポートされていますか?)剣道角2グリッド日付時刻形式

私がカラムの「フィルタ」プロパティに何を入れても、私の日付は解析されないようです。 /日(1480643052457)/

すべてのヘルプや提案は大歓迎:

は、私が表示され、この値を参照してください!更新

---- ----

同じように私がやってしまったかについての迅速なアップデート:私は単に2番目の文字列の列を作成した時点で(つまりI形式のフォーマットされた日付文字列を返さ検索)。次に、並べ替えるとき、表示列の代わりに実際のDateTime列を使用して、正しく並べ替えるようにします。これは私のニーズにうまく機能します。もともと私がAngular 2グリッドで作業を始めたときには、クライアント側の機能がグリッドから外れてしまうことが予想されていましたが、バックエンドのAPIソースに正しくバインドすれば、それほど必要ではありません。

+0

あなたは列テンプレートを使ってみましたか?もしそれがうまくいけば – mast3rd3mon

+0

いいえ、私はそれをテンプレート化していない....私はそれを行うことができます。また、データを取得したときにサーバー上の文字列に変換するだけで動作します。私はそれがバインドされたときに渡されたデータ配列から有効な形式としてdatetimeを自動的に解析/受け入れる必要があることに気付きました。 – BriDev

+0

私は知っているから、theres日時フィルタは、私はちょうどその例としてテンプレートを使用する必要がありますか? – mast3rd3mon

答えて

1

あなたは以下のように日付の書式を設定することができますグリッドはあなたがJS日付に変換する必要があり、適切に日付をフォーマットするためには

kendo-grid-column field="createdOn" format='{0:MM/dd/yyyy HH:mm:ss} 
0

。私は通常、サーバーからデータを取得するajaxコールからのコールバックでこれを行います。そのような何か:

field="SomeField" format='{0:d}

api.get('some server url').then(function(data) { 
 
    if (data.SomeDate) data.SomeDate = new Date(data.SomeDate); 
 
});

これはあなたのように日付の書式を設定することができます

(これは、擬似コードがあり、それを直接使用しないでください)

または

field="SomeField" format='{0:MM/dd/yyyy h:mm a} 

お役に立てば幸いです。

+0

プロパティを使用して日付を書式設定できますか? 例:format = '{0:foo.DateFormat}' –

+0

うーん、確かに、私はそれを試みたことはありません。 – dpdragnev

+0

私は、列の定義ではなく、構成ファイルに列の日付書式の定義を持たせたいのです。このようにすれば、一度変更するだけで済みます。 –

1

テンプレート列の日付パイプを使用して同じ問題を解決しました。ヌル値を確認してください。 component.tsで

<kendo-grid-column title="Last Login" width="100"> 
    <ng-template kendoGridCellTemplate let-dataItem> 
     <div *ngIf="dataItem.lastLoginDate!=null">{{ formatDate(dataItem.lastLoginDate) | date:"shortDate" }}</div> 
    </ng-template> 
</kendo-grid-column> 

機能は、日付文字列の使用可能な部分を引き出し、日付のパイプがそれを使用できるようにJSの日付に変換します。

formatDate(myStringDate) { 
    return new Date(parseInt(myStringDate.substr(6))); 
} 

私はshortDate形式を使用していますが、ここで時間フォーマットを含む多くの形式のオプションを見つけることができます。 Angular 2 Date Pipe Formatters

0

すなわちEFコアの形式の文字列での作業します。 YYYY-MM-DDTHH:MM:SSのように、このサービスでこれを使用して、グリッドを消費するAPIデータを準備する呼び出し(この場合は読み取り)に日付書式を継承することができました。私がこのトピックAngular 2 Date deserializationから引き出し、私の目的のために改装したextractDataに、作業が行われる場所があります。うまくいけばそれは誰かの悲しみを救うでしょう。

これは、追加する必要があります。これは、拡張BehaviorSubjectとして構造化されたサービスのコンテキストにあります。これは、Telerikのリアクティブフォーム編集モデルにあります。