2014-02-11 38 views
2

如果一個字段包含多個項目的數組,則需要指定x個單位的計數。如何在ng-grid字段顯示名稱中執行此操作?在角度ng-grid中如何指定子數組的計數

的Json實施例: $ scope.data = [{ID:{1,3}, 納米:John Doe的} , {ID:{2,4,5}, 納米:Jane Doe的}]

當前結果:

Id    Name 
-------------- ------------------------------- 
1,3    John Doe 
2,4,5   Jane Doe 

期望的結果:

Id    Name 
-------------- ------------------------------- 
2 Ids   John Doe 
3 Ids   Jane Doe 

當前角代碼:

   $scope.gridOptions = { 
        data: 'data', 
        selectedItems: $scope.mySelections, 
        columnDefs: [ 
        {field: 'id', displayName: 'Id', width: '***'}, 
        {field: 'nm', displayName: 'Name', width: '****'}], 
        multiSelect: false 
       }; 
+0

是真的ID的對象還是一個數組:id:[1,3]? – michael

回答

3

只需創建一個像這樣的電池模板:

<div class="ngCellText" ng-class="col.colIndex()"><span ng-cell-text>{{row.getProperty("id").length}} Ids</span></div> 

然後應用它像這樣:

var app = angular.module('myApp', ['ngGrid']); 
app.controller('MyCtrl', function($scope) { 


    $scope.myData = [{id: [1, 12], name: 'John Doe'}, 
        {id: [3, 7, 9, 6, 2], name: 'John Doe'}, 
        {id: [10, 52, 78], name: 'John Doe'}, 
        {id: [101, 88, 72, 99], name: 'John Doe'}]; 


    $scope.columnDefs = [ 
     { 
     displayName:'Id', 
     cellTemplate: 'cellTemplate.html' 
     }, 
     { 
     field:'name', displayName:'Name' 
     } 
    ] 

    $scope.gridOptions = { 
     data: 'myData', 
     columnDefs: $scope.columnDefs 
    }; 
}); 

例子:Plunker

+0

我想我需要一個函數,如果它只有1項然後顯示值。我可以在模板內的某個功能上做到這一點嗎? – user3250966

+0

您可以使用控制器模板之外的功能。我更新了Plunker來演示。 – Rob

+0

列值是否爲col.colValue?或col.colText或類似的東西? – user3250966

0

,如果你想要得到的只是子陣列的計數/長度僅用作波紋管

{field: 'id.length', displayName: 'Id', width: '***'}, 

如果要添加其他東西一樣,文本,圖像,Icons..etc應使用cellTemplate如上回答

感謝

相關問題