Я столкнулся с этой же проблемой и попробовал некоторые предложенные решения, которые я нашел, но не работал с той версией сетки, которая у меня есть. Я просмотрел источник сетки и нашел шаблон, который мой использовал для агрегированных строк, и скопировал его, а затем настроил, чтобы включить вызов функции в моем методе для частей дисплея:
В моих 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";
};
Вы увидите, что в обоих случаях я передаю строку в шаблоне функции в области действия контроллера, затем я смотрю на свойство, называемое дочерними элементами в строке (я только что понял это с помощью инструментов отладки 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
***********************************************/
person
shaunhusain
schedule
26.08.2013