2013-11-02 2 views
2

ngGrid는 NULL 셀을 0으로 변환하거나 열 유형에 따라 빈 문자열 ("")로 변환합니다. 이 대신 'NULL'로 표시해야합니다. 효율적인 방법으로 은 무엇입니까? 그리드에는 10,000 개 이상의 행이 표시 될 수 있습니다.angulargs에 대한 ng-grid에 NULL 표시

원하지 않는 동작을 표시하는 간단한 Plunker : http://plnkr.co/edit/MwAotQ?p=preview

(통지 0, "", 또는 NULL 대신 $ 0.00).

감사합니다.

- >> < 조쉬 < -

답변

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); 
    }; 
});