角度ui网格将两列合二为一

时间:2017-01-18 12:03:25

标签: javascript angularjs angular-ui-grid

有没有办法将两个字段组合成角度ui网格中的一个字段?

我尝试了以下代码,案例管理器部分工作但客户端部分无效

CaseServices.getCases().then(function (response) {
            $scope.gridOptions.columnDefs = [
          { name:'Title', field: 'Title' },
          { name:'Case Manager', field: 'Case_x0020_Manager.Title' },
          { name:'Client', field: 'Client.FirstName' + 'Client.Title'},

        ],
            $scope.gridOptions.data = response.d.results;
        });

我在一个例子中看到我们可以构建我们自己的函数,如下面的

columnDefs: [
          { name:'firstName', field: 'first-name' },
          { name:'1stFriend', field: 'friends[0]' },
          { name:'city', field: 'address.city'},
          { name:'getZip', field: 'getZip()', enableCellEdit:false}
        ],
        data : [      {
                           "first-name": "Cox",
                           "friends": ["friend0"],
                           "address": {street:"301 Dove Ave", city:"Laurel", zip:"39565"},
                           "getZip" : function() {return this.address.zip;}
                       }
                   ]

但是由于我收到来自ajax电话的回复,我不知道如何修改data部分($scope.gridOptions.data = response.d.results;

有人可以帮助其中任何一个吗?因为它会解决目的

1 个答案:

答案 0 :(得分:0)

有两种方法可以做到这一点

修改对象数组

$.each(response.d.results,function(){
            this.ClientName = this.Client.FirstName + " " + this.Client.LastName;  

         });

使用角度ui网格中提供的CaseTemplate功能(推荐)

$scope.gridOptions.columnDefs = [
                  { name:'Title', field: 'Title' },
                  { name:'Client', field: 'Client', cellTemplate:'<div>{{row.entity.Client.FirstName + " " + row.entity.Client.Title }}</div>'},
                ],