Kendo - Grid - FooterTemplate中的自定义聚合

时间:2012-11-15 23:53:42

标签: templates grid kendo-ui aggregates

我的理解是Kendo不支持自定义聚合,但您可以在footerTemplate中调用函数。然后,该函数可以提供数据计算,甚至可以引用kendo定义的聚合。所以,例如,

footerTemplate: "<div><b>Range</b> #= computeRange()#</div>"

如果这是正确的,你会如何编写函数computeRange?它将使用max-min聚合。

另外,你会如何编写computeMedian函数?

提前感谢您的帮助。

2 个答案:

答案 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/