2016-06-10 3 views
2

Ich verwende ui-grid und ich gruppiere die Daten, ich muss die Gruppenköpfe und die Zähler erhalten. Wie kann ich diese Werte bekommen?Benötigen Sie die Gruppierung Werte in UI-Grid

Dies ist ein Beispiel des Gitters

enter image description here

$scope.gridOptions = { 
     enableFiltering: false, 
     enableColumnResize: true, 
     onRegisterApi: function (gridApi) { 
      $scope.gridApi = gridApi; 
     },   
     columnDefs: [ 
      { field: 'month',enableHiding: false, grouping: { groupPriority: 0 }, sort: { priority: 0, direction: 'desc' }}, 
      { field: 'facility',enableHiding: false,grouping: { groupPriority: 1 }, sort: { priority: 1, direction: 'asc' }}, 
     ... 
      { field: 'categorymanager',enableHiding: false, displayName:'CM', grouping:{ groupPriority: 2 }, sort: { priority: 2, direction: 'asc' }}, 
     ] 
    }; 

Antwort

0

Sie die Werte durch das Schreiben eines benutzerdefinierten cellTemplate für die colDef bekommen. Zum Beispiel können, wenn Sie Ihre Vorlage definieren als:

let monthTemplate = '<div><div ng-if="!col.grouping || col.grouping.groupPriority === undefined || col.grouping.groupPriority === null || ' + 
     '(row.groupHeader && col.grouping.groupPriority === row.treeLevel)" class="ui-grid-cell-contents" ' + 
     'title="TOOLTIP">{{grid.appScope.getValue(COL_FIELD, row.treeNode.children)}}</div></div>'; 

dann Ihre Methode definieren als:

$scope.getValue = function(item, treeRowEntity){ 
     //item will hold month value 
     //iterate over treerowentity array and get values 
     //for example, if column required was facility 
     treeRowEntity[0].row.entity.facility 
    }; 
Verwandte Themen