Luk*_*oda 7 angularjs angular-ui ng-grid
我希望看到网格中每个组的总计(或通常是任何聚合函数).
这是请求和关闭,如问题所述:https://github.com/angular-ui/ng-grid/issues/95(但遗憾的是没有任何示例).
我可以通过配置选项重新定义默认模板https://github.com/angular-ui/ng-grid/blob/master/src/templates/aggregateTemplate.htmlaggregateTemplate.但我不知道如何正确扩展它.
此模板正在ng-grid范围内进行评估,我不知道如何触发我的自定义聚合函数.我想创建类似'''totalChildren'''的功能(来自https://github.com/angular-ui/ng-grid/blob/master/src/classes/aggregate.js)
有任何想法吗?
Luk*_*oda 10
我找到了答案:https://github.com/angular-ui/ng-grid/issues/290
这里有一个完整的例子是我的aggredate函数:
function WorkLoadCtrl($scope, Issue, $routeParams, HttpCache) {
$scope.issues = Issue.jql_search({jql: $routeParams.jql});
$scope.aggFC = function (row) {
var res = 0;
var calculateChildren = function(cur) {
var res = 0;
var remaining;
angular.forEach(cur.children, function(a) {
remaining = a.getProperty('fields.timetracking.remainingEstimateSeconds');
if (remaining) { res += remaining; }
});
return res;
};
var calculateAggChildren = function(cur) {
var res = 0;
res += calculateChildren(cur);
angular.forEach(cur.aggChildren, function(a) {
res += calculateAggChildren(a);
});
return res;
};
return (calculateAggChildren(row) / 3600).toFixed(2);
}
$scope.mySelections = [];
$scope.gridOptions = {
data: 'issues.issues',
columnDefs: [
{field:'key', displayName:'key'},
{field:'fields.assignee.name', displayName:'Assignee'},
{field:'fields.status.name', displayName:'Status'},
{field:'fields.summary', displayName:'Summary'},
{field:'fields.timetracking.remainingEstimate', displayName:'Remaining'},
],
showFooter: true,
showGroupPanel: true,
enablePinning: true,
enableColumnResize: true,
enableColumnReordering: true,
showColumnMenu: true,
showFilter: true,
//jqueryUIDraggable: true, bug: when used grouping stop work, but column reordering start to work:(
selectedItems: $scope.mySelections,
multiSelect: false,
aggregateTemplate: '<div ng-click="row.toggleExpand()" ng-style="rowStyle(row)" class="ngAggregate"> <span class="ngAggregateText">{{row.label CUSTOM_FILTERS}} (count: {{row.totalChildren()}} {{AggItemsLabel}} Remaining: {{aggFC(row)}})</span> <div class="{{row.aggClass()}}"></div> </div>'
};
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15848 次 |
| 最近记录: |