2

ngGrid は、列の型に基づいて NULL セルを 0 または空の文字列 ("") に変換しています。代わりに「NULL」として表示する必要があります。これを行う効率的な方法は何ですか?グリッドには 10,000 行以上のデータが表示される可能性があります。

望ましくない動作を表示するシンプルなプランカー: http://plnkr.co/edit/MwAotQ?p=preview

(NULL の代わりに 0、""、または $0.00 に注意してください)。

ありがとう!

->> ジョシュ <<-

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 に答える