我的理解是Kendo不支持自定义聚合,但您可以在footerTemplate中调用函数。然后,该函数可以提供数据计算,甚至可以引用kendo定义的聚合。所以,例如,
footerTemplate: "<div><b>Range</b> #= computeRange()#</div>"
如果这是正确的,你会如何编写函数computeRange?它将使用max-min聚合。
另外,你会如何编写computeMedian函数?
提前感谢您的帮助。
答案 0 :(得分:3)
function computeRange(){
var bal = 0;
var ds = $("#itemcode_grid").data("kendoGrid").dataSource;
var aggregates = ds.aggregates();
if(aggregates.total_balance)
bal = aggregates.total_balance.sum;
else
bal = 0;
return kendo.toString(bal,'n2');
}
答案 1 :(得分:0)
我已经实现了一个解决方案,我可以帮助您使用groupFooterTemplate来使用自定义聚合函数。
链接here
function myAggregate(data){
// Data here is a list of data by group (brilliant right! :-) )
// Do anything here and return result string
}
var grid = $('#grid').kendoGrid({
...
columns: [
{ field: '', title: '', groupFooterTemplate: myAggregate
]
...
});
<!DOCTYPE html>
<html>
<head>
<!-- YOUR CSS HERE -->
</head>
<body>
...
<div id="#grid"></div>
...
<script><!-- jQuery here --></script>
<script><!-- kendo.all.min.js here --></script>
<script src="kendo.aggregate.helper.js"></script>
</body>
</html>
http://christfriedbalizou.github.io/kendo-grid-custom-aggregate-function-hack/