我知道这个问题已经过时了,但不久前我使这个功能成为可能,并在 Github 上的 SlickGrid projet 队列中以我的名义收到了一个拉取请求。你也许可以尝试一下并给我一些反馈。为此,我修改了 3 个文件,包括示例文件。此时,我不知道我的提交是否会被接受,因此请自行承担风险,尽管我对我的解决方案非常有信心,因为我已经在工作中使用它。
这是它的链接:https://github.com/mleibman/SlickGrid/pull/522/files https://github.com/mleibman/SlickGrid/pull/522/files
这是3个多列分组的示例,该代码部分来自example-grouping.html
我也修改过的文件。定义多重分组使用数组,与之前的实现非常相似,只是在定义多重分组时将其包装在数组中。
function groupByDurationPercentageStart() {
dataView.groupBy(
["duration", "percentComplete", "start"],
[
(function (g) {
return "Duration: " + g.value + " <span style='color:green'>(" + g.count + " items)</span>";
}),
(function (g) {
return "Complete: " + g.value + " <span style='color:green'>(" + g.count + " items)</span>";
}),
(function (g) {
return "Start Date: " + g.value + " <span style='color:green'>(" + g.count + " items)</span>";
})
],
[
function (a, b) {
return a.value - b.value;
},
function (a, b) {
return a.value - b.value;
},
function (a, b) { // string sorting
var x = a.value, y = b.value;
return x == y ? 0 : (x > y ? 1 : -1);
}
]
);
dataView.setAggregators([
new Slick.Data.Aggregators.Avg("percentComplete"),
new Slick.Data.Aggregators.Sum("cost")
], true, false);
}
希望它对你们有帮助,现在它确实具有所有功能,我喜欢这个网格 =)