gpt4 book ai didi

javascript - 按多列对 Slickgrid 进行排序?

转载 作者:数据小太阳 更新时间:2023-10-29 04:02:11 28 4
gpt4 key购买 nike

我刚开始测试 Slickgrid对于我正在从事的项目,它的性能给我留下了深刻的印象。我的一个要求是对多列进行排序。我没有完全专注于 Slickgrid 中的数据 View ,所以也许我遗漏了一些明显的东西,但是有没有办法对多列上的网格进行排序?即使 UI 无法处理多个排序,我也希望能够按顺序调用带有列的函数,加上升序或降序。我能够用 Datatables 做到这一点, 但它没有分组(项目的另一个要求)。

在最坏的情况下,我会求助于在服务器上进行排序并将静态排序后的内容返回给客户端。

最佳答案

我让它在多列排序的 dataView 上工作。也是最容易理解的。这是来自 github 中的示例,只是我必须为 dataView.sort() 传递一个参数。它可以始终为真,您可以在函数中处理排序方向。

grid.onSort.subscribe(function (e, args) {
gridSorter(args.sortCols, dataView);
});

function gridSorter(sortCols, dataview) {
dataview.sort(function (row1, row2) {
for (var i = 0, l = sortCols.length; i < l; i++) {
var field = sortCols[i].sortCol.field;
var sign = sortCols[i].sortAsc ? 1 : -1;
var x = row1[field], y = row2[field];
var result = (x < y ? -1 : (x > y ? 1 : 0)) * sign;
if (result != 0) {
return result;
}
}
return 0;
}, true);
}

以防万一它对某人有帮助。

关于javascript - 按多列对 Slickgrid 进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4940564/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com