我的理解是 Kendo 不支持自定义聚合,但您可以在 footerTemplate 中调用函数。然后,该函数可以提供数据计算,甚至可以引用剑道定义的聚合。所以,例如,
footerTemplate: "<div><b>Range</b> #= computeRange()#</div>"
如果这是正确的,您将如何编写函数computeRange?它将使用最大最小聚合。
另外,您将如何编写 computeMedian 函数?
在此先感谢您的帮助。
我的理解是 Kendo 不支持自定义聚合,但您可以在 footerTemplate 中调用函数。然后,该函数可以提供数据计算,甚至可以引用剑道定义的聚合。所以,例如,
footerTemplate: "<div><b>Range</b> #= computeRange()#</div>"
如果这是正确的,您将如何编写函数computeRange?它将使用最大最小聚合。
另外,您将如何编写 computeMedian 函数?
在此先感谢您的帮助。
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');
}
我已经实现了一个解决方案,可以帮助您使用 groupFooterTemplate 使用自定义聚合函数。
链接在这里
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/