如何在 kendo 网格中以编程方式添加组和组的总和
how to add group and sum of group programmatically in kendo grid
在我的例子中,我必须在 Kendo 网格中分组并以编程方式执行组的总和。
就我而言,我可以将代码直接存储在网格中:
group: [{ field: "age", aggregates: [ { field: "age", aggregate: "sum" }] }]
这是如何以编程方式存储为代码的?
我的解决方案如下所示:
<div id="grid"></div>
<script>
var dataSource = new kendo.data.DataSource({
data: [
{ name: "Jane Doe", age: 30 },
{ name: "Jane Doo", age: 30 },
{ name: "John Doe", age: 33 }
]
});
var grid = $("#grid").kendoGrid({
dataSource: dataSource,
groupable: true,
columns: [
{
field: "name"
},
{
field: "age",
// groupFooterTemplate: "Total: #= sum #"
}
],
}).data("kendoGrid");
grid.dataSource.group([
{ field: "age", aggregates: [
{ field: "age", aggregate: "sum" }
]
}
]);
$.each(grid.columns, function(key, vs){
console.log(grid.columns[key].field);
if(grid.columns[key].field == "age"){
grid.columns[key].groupFooterTemplate = "Total: #= sum #";
}
});
grid.refresh();
</script>
如果有更好的方案,我很乐意接过来
在我的例子中,我必须在 Kendo 网格中分组并以编程方式执行组的总和。
就我而言,我可以将代码直接存储在网格中:
group: [{ field: "age", aggregates: [ { field: "age", aggregate: "sum" }] }]
这是如何以编程方式存储为代码的?
我的解决方案如下所示:
<div id="grid"></div>
<script>
var dataSource = new kendo.data.DataSource({
data: [
{ name: "Jane Doe", age: 30 },
{ name: "Jane Doo", age: 30 },
{ name: "John Doe", age: 33 }
]
});
var grid = $("#grid").kendoGrid({
dataSource: dataSource,
groupable: true,
columns: [
{
field: "name"
},
{
field: "age",
// groupFooterTemplate: "Total: #= sum #"
}
],
}).data("kendoGrid");
grid.dataSource.group([
{ field: "age", aggregates: [
{ field: "age", aggregate: "sum" }
]
}
]);
$.each(grid.columns, function(key, vs){
console.log(grid.columns[key].field);
if(grid.columns[key].field == "age"){
grid.columns[key].groupFooterTemplate = "Total: #= sum #";
}
});
grid.refresh();
</script>
如果有更好的方案,我很乐意接过来