Angular-ui-grid:如何格式化数据字段的内容

Angular-ui-grid: How to format the contents of a data field

我已经搜索了 angular-ui-grid 文档,但没有找到几年前我参与的项目中被称为 "CellFormatters" 的内容。

"CellFormatters" 用于提供网格列所在字段的文本呈现。例如,假设我们有一个应用程序中的布尔值 "isContentEditor" 字段的列,该应用程序的大多数用户都是简单的读者。我们可能会决定,为了避免 UI 混乱,该列不应显示 "false" 或 "No",否则它应该什么都不显示。

回到那个旧项目,我们将定义一个 CellFormatter 函数,IIRC 将至少接收字段值(即 true 或 false)和 return 一个字符串,该字符串应该是 HTML-字段内容的格式化版本。

是否可以通过 JavaScript 函数对 angular-ui-grid 进行这种预处理?

使用 'cellFilter' 为该数据指定过滤器。此外,如果您将 'sortCellFiltered' 设置为 true,将在应用过滤器后应用排序。

{
   field: 'validFrom', displayName: 'VALID FROM',type : 'date',
   cellFilter : 'date', enableCellEdit : false, sortCellFiltered : true
}

.filter('date', function(moment) { 
    return function(input) {
         if (input) {
             return moment(input).format('MMM Do, YYYY');
         }
         return 'No Date Provided';
    };
 });

ColumDefs Ui-Grid