我遇到了同样的问题并尝试了一些我找到的建议解决方案,但没有使用我拥有的网格版本。我搜索了网格源,找到了我的用于聚合行的模板并复制了它,然后对其进行了调整,以在我的方法中包含对函数的调用,以显示部分显示:
在我的 gridOptions 我定义了如下所示的属性
aggregateTemplate: "<div ng-click=\"row.toggleExpand()\" ng-style=\"rowStyle(row)\" class=\"ngAggregate\">" +
" <span class=\"ngAggregateText\"><span class='ngAggregateTextLeading'>{{row.totalChildren()}} {{row.label CUSTOM_FILTERS}} {{entryMaybePlural(row)}}</span><span>Total Weight: {{aggFunc(row)}} lbs {{AggItemsLabel}}</span></span>" +
" <div class=\"{{row.aggClass()}}\"></div>" +
"</div>" +
""
在网格控制器的范围内,我具有功能
$scope.aggFunc = function (row) {
var total = 0;
angular.forEach(row.children, function(cropEntry) {
total+=cropEntry.entity.weight;
});
return total.toString();
};
$scope.entryMaybePlural = function (row) {
if(row.children.length>1)
{
return "entries";
}
else
return "entry";
};
您会看到在这两种情况下,我将模板中的行传递给控制器范围内的函数,然后查看行上名为 children 的属性(我只是使用 Chrome 调试工具解决了这个问题,而其他尝试没有锻炼)。
PS我的网格在顶部有这个编译注释,虽然没有版本:|
/***********************************************
* ng-grid JavaScript Library
* Authors: https://github.com/angular-ui/ng-grid/blob/master/README.md
* License: MIT (http://www.opensource.org/licenses/mit-license.php)
* Compiled At: 06/03/2013 21:19
***********************************************/