2012-11-15 75 views
0

我的理解是,Kendo不支持自定義聚合,但可以在footerTemplate中調用一個函數。該函數可以提供數據計算,甚至可以引用kendo定義的聚合。因此,例如,Kendo - 網格 - 在頁腳模板中自定義聚合

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

如果這是正確的,您將如何編寫函數computeRange?它會使用最大 - 最小聚合。

另外,你會如何編寫computeMedian函數?

在此先感謝您的幫助。

回答

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'); 
} 
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/