2016-07-06 10 views
0

これは、anglejsと重いクライアントサイドのJavaScriptのコーディングを使用する私の最初の進出です。ほとんど私はそれをすべて.NET Server側のC#ASPXページで行っています。日付が表示されないようにする正しい方法

.NET MVCを使用して、クライアント側にangularjsとui-gridを使用します。私のMVCコントローラは、日付列(contract_start)を持つデータセットを返します。 start_dateにはデフォルトの初期化されていない値が含まれることがあります。これは、これが/ 00」と表示される...私のように日付をフォーマットする私のUIグリッドcolumnDefsを持っている1900年

でUIグリッド上で初期化されていない日付値の

{ name: 'contract_start', width: 140, cellTooltip: true, cellFilter: 'date:"mm/yyyy"' }, 

を表示します1900年。

これらをグリッド上で空白として表示します。適切なアプローチは何でしょうか?

後でこのグリッドセルを編集する機能を追加する必要があることに注意してください。その後、

私が試した一つの戦略は、フィルタ機能を使用することです...

{ name: 'contract_end', width: 140, cellTooltip: true, cellFilter: 'noDateFilter' }, 

、コントローラに機能を追加...

.filter('noDateFilter', function() { 
    //check if value is valid date 
    //and return string formatted as 'mm/yyyy' 
    //else return empty string '' 
    }; 
}) 

これは、クリーンなアプローチですかより多くの「組み込み」戦略が必要ですか?

また、セルで編集する方法もまだ考えています...このフィルタはセルの編集機能に影響しますか?

ありがとうございました。

+0

Riccarr

答えて

1

はい、カスタムではなくUIグリッドセルフィルタを使用する方がよいでしょう。日付の検証のために、データをui-gridにプッシュする前に処理することができます。その後、私の元の質問パー

{ field: 'contract_end', displayName: 'contract_end',type: 'date', cellFilter: 'date:\'MM/yyyy\'' }]

+0

...どのように日付が1900年であるとき、空白の日付を表示するためにcellFilterを使用していますか? – Riccarr

関連する問題