我有一个KendoUI Grid,我需要在页脚中显示几个列的总和。 由于Items列已绑定,这似乎完美无缺。
我还有一个项目总计的净值,但我无法使聚合函数起作用。是否可以将计算列相加?
columns.Bound(m => m.Items).Format("{0:n2}")
.HtmlAttributes(new { @class = "items" }).Title("Units")
.ClientFooterTemplate("#= kendo.format('{0:n2}', sum) #");
columns.Template(p => { })
.ClientTemplate("#= kendo.toString((Items * 12) * NetPoundsPerItem, 'n2') #")
.Title("Total Net £s for Items")
.FooterTemplate("#= kendo.tostring(sum, \"n2\") #");
答案 0 :(得分:0)
因为这是一个未绑定的列,您需要手动跟踪您的数字,然后将您的总和放在聚合列中。使用页脚模板
columns: [
{ field: "Cost", width: 120 }, footertemplate: "<div id='total'> Total : $0.00 </div> },
{ field: "Quanity", title: "Quanity", width: 40}]
使用javascript计算总和,然后使用jquery进行设置。
//get the correct grid Kendo Grid
var grid = $("#grid").data("kendoGrid");
//get the data
var data = grid.dataSource.view();
var FinalTotal = 0;
// now iterate through each cell
data.forEach(function (entry) {
FinalTotal += entry["Quanitiy"] * entry["Price"];
}
// set the aggregate template div
$('#total').text("Total: " + kendo.toString(FinalTotal, 'C'));