AngularJS : ui - 两个字段串联的网格字段

AngularJS : ui-grid field with a concatenation of two fields

我需要 ui-grid 中的一列,它是两个字段的串联,比如 'name' 和 'address'。我怎样才能做到这一点?

你试过这种方法吗?

控制器

var app = angular.module('myApp', ['ngGrid']);
app.controller('MyCtrl', function($scope) {
    $scope.myData = [
             {name: "Moroni", address: test1},
                     {name: "Tiancum", address: test2},
                         {name: "Jacob", address: test3},
                         {name: "Nephi", address: test4},
                         {name: "Enos", address: test5 }];

        angular.forEach($scope.myData,function(row){
          row.getNameAndAddress = function(){
            return this.name + '-' + this.address;
          }
        });

    $scope.gridOptions = { 
        data: 'myData',
        columnDefs: [{field: 'name', displayName: 'Name'},
                     {field:'address', displayName:'Address'},
                     {field: 'getNameAndAddress()', displayName: 'Name and address'},
                     ]
        };
});

html

<body ng-controller="MyCtrl">
        <div class="gridStyle" ng-grid="gridOptions"></div>
    </body>

这是另一个工作示例。

$scope.myData = [
                   { fname: "Roger", lname: "Binny", age: 50 },
                   { fname: "Smith",lname:"kevin", age: 34 }
                 ];

angular.forEach($scope.myData, function (row) {
    row.getFullName = function () {
        return this.fname + '-' + this.lname;
    }
});

$scope.gridOptions = {
    data: 'myData',
    columnDefs: [{ field: 'fname', displayName: 'First Name' },
                 { field: 'lname', displayName: 'Last Name' },
                 { field: 'getFullName()', displayName: 'Full Name' },
                { field: 'age', displayName: 'Age' },
    ]
};

  <div class="ngGridStyle" ng-grid="gridOptions"></div>