Ag-Grid 字符串聚合并在列上显示总和值

问题描述 投票:0回答:2

我想在行分组的每个级别中显示带有总和值的ag-grid表。

 columnDefs = [
    { headerName:"Subject", field: "subject", rowGroup: true },
    { headerName:"Grade", field: "grade", rowGroup: true },
    { headerName:"Emp Id", field: "empId" },
    { headerName:"Score", field: "score",  aggFunc: "sum"}
   ];


rowData = [
   {subject: "Maths", grade: "A", empId:"1", score: "80"},
   {subject: "Maths", grade: "A", empId:"2", score: "70"},
   {subject: "Maths", grade: "A", empId:"3", score: "90"},
   {subject: "Maths", grade: "A", empId:"4", score: "100"}
 ]

这里我想计算Score值并显示在故事列的行组的每个级别中。但

aggFunc: "sum"
不起作用,因为
"score"
属性是 string 类型

是否有可能计算疼痛值并将其显示在表格中

angular ag-grid ag-grid-angular
2个回答
2
投票

定义您的自定义聚合函数并在列定义中使用它

columnDefs = [
    { headerName:"Subject", field: "subject", rowGroup: true },
    { headerName:"Grade", field: "grade", rowGroup: true },
    { headerName:"Emp Id", field: "empId" },
    { headerName:"Score", field: "score",  aggFunc: myCustomSumFunction}
   ];

function myCustomSumFunction(values) {
    var sum = 0;
    values.forEach( function(value) {sum += Number(value);} );
    return sum;
}
rowData = [
   {subject: "Maths", grade: "A", empId:"1", score: "80"},
   {subject: "Maths", grade: "A", empId:"2", score: "70"},
   {subject: "Maths", grade: "A", empId:"3", score: "90"},
   {subject: "Maths", grade: "A", empId:"4", score: "100"}
 ]

这是一个plunkr


0
投票
columnDefs = [
    { headerName:"Subject", field: "subject", rowGroup: true },
    { headerName:"Grade", field: "grade", rowGroup: true },
    { headerName:"Emp Id", field: "empId" },
    { headerName:"Score", field: "score", aggFunc: "sum", valueGetter: params => parseInt(params.data.score),
    }
   ];
© www.soinside.com 2019 - 2024. All rights reserved.