2

ngGrid 正在根据列类型将我的 NULL 单元格转换为 0 或空字符串 ("")。我需要将其显示为“NULL”。什么是有效的方法来做到这一点?网格中可能显示 10,000 多行数据。

显示不良行为 的简单 Plunker : http ://plnkr.co/edit/MwAotQ?p=preview

(注意 0、"" 或 $0.00 而不是 NULL)。

谢谢!

->> 乔什 <<-

4

1 回答 1

5

创建一个扩展原始过滤器的自定义过滤器。以下是您为日期列执行此操作的方法:

var app = angular.module('myApp', ['ngGrid']);
app.controller('MyCtrl', function($scope) {
    $scope.gridOptions = {
        data: 'myData',
        columnDefs: [{ field: "name", width: 120 },
                    { field: "age", width: 120, cellFilter: 'number' },
                    { field: "birthday", width: 120, cellFilter: 'nullDateFilter' },
                    { field: "salary", width: 120, cellFilter: 'currency'  }]
    };
    $scope.myData = [{ name: "Moroni", age: 50, birthday: "Oct 28, 1970", salary: 60000 },
                    { name: "Tiancum", age: 43, birthday: "Feb 12, 1985", salary: 70000 },
                    { name: "Jacob", age: 27, birthday: "Aug 23, 1983", salary: 50000 },
                    { name: null, age: null, birthday: null, salary: null },
                    { name: "Enos", age: 34, birthday: "Aug 3, 2008", salary: 30000 }];
});

app.filter('nullDateFilter', function($filter) {
  return function(input) {
    var originalFilter = $filter('date');
    return input == null ? 'null' : originalFilter(input);
  };
});
于 2013-11-02T18:47:12.640 回答