2014-04-04 40 views
5

日期格式,我創建了一個NG-網格下面列定義NG-網格行模板

columns: [ 
    { field: "CompanyPkid", visible: false }, 
    { field: "CompanyName", visible: false }, 
    { field: "StartDate", visible: false, cellFilter: "date:'yyyy-MM-dd'" }, 
    { field: "CompanyId", 
    displayName: "Company ID", 
    cellTemplate: "<div class=\"ngCellText\" ng-class=\"col.colIndex()\">"+ 
        "<a href=\"Company/Edit/{{row.getProperty('CompanyPkid')}}\">"+ 
         "{{row.getProperty(col.field)}}"+ 
        "</a><br />"+ 
        "{{row.getProperty('CompanyName')}}<br />"+ 
        "{{row.getProperty('StartDate')}}"+ 
        "</div>", 
    }], 

其中一列是一個隱藏的日期列。

其中一列使用模板幷包含隱藏日期列中的值。

我想將多行欄中的日期格式設置爲yyyy-MM-dd。這可能嗎?如果是這樣,怎麼樣?

回答

10

使用date過濾器,像這樣:

{{row.entity.StartDate | date:'yyyy-MM-dd'}} 
+1

太棒了!謝謝! –

1

我碰到了上面的方法有問題。如果您在列上使用過濾或排序,它們仍然使用字段值的時間戳記或日期對象進行操作,而不是在cellTemplate中使用過濾器的結果。因此,用戶可以在列過濾器中輸入「03」,但會看到諸如「2005年12月31日」的日期 - 03在時間戳中,未顯示。

我發現的解決方案是在columnDef對象中使用cellFilter:'date:"MM/dd/yyyy"'。這將保留排序和過濾功能,同時允許您顯示所需日期。感謝Victor:http://www.victorshi.com/blog/post/How-to-format-a-datetime-column-in-ng-grid