【发布时间】:2020-12-03 04:34:05
【问题描述】:
我正在使用 DevExtreme 并想使用汇总功能。 如果同一列有相同的数据,则统计
let te_arr = [];
dxDataGrid({
..................
columns: [
{ dataField: "columnsTest", caption: "columnsTest"}
],
summary: {
recalculateWhileEditing: true,
totalItems: [
{
name: "SelectedRowsSummary",
showInColumn: "columnsTest",
displayFormat: "count: {0}",
summaryType: "custom"
}],
calculateCustomSummary: function (options) {
if(options.value){
let data_state = options.value.columndata
console.log('data_state ',data_state );
if (options.name == "SelectedRowsSummary") {
if (options.summaryProcess === "start") {
options.totalValue = 0;
}
if (options.summaryProcess === "calculate") {
if (data_state == 'Y') {
te_arr.push(data_state );
options.totalValue = te_arr.length;
}
}
}
}
}
},
.................
上面的结果是7 结果,您获得了相同数据的总数,但是当处理诸如网格按钮 desc 或 asc 之类的事件时,该数字会增加一倍。 看起来是这样,因为 calculateCustomSummary 已完成,之后它会在事件发生时继续触发。 应该如何处理?
【问题讨论】:
-
如果你想有一个列的总数作为一个汇总,你的做法是正确的。应该计算相同的数据。
标签: javascript devextreme