gpt4 book ai didi

slickgrid - 在 slickgrid 上调用排序

转载 作者:行者123 更新时间:2023-12-04 13:08:45 25 4
gpt4 key购买 nike

在 slickgrid 中,我可以使用 grid.SetSortColumn(colName,true/false) 设置排序列及其排序方向。 .这仅设置排序字形但不进行排序。有没有办法调用排序事件处理程序。我已经定义了排序处理程序,如 grid.onSort.subscribe(function(){});

最佳答案

您观察到的行为是正确的。

    grid.setSortColumn(columnId, isAsc);

只更新排序列上的字形。
在您的情况下,您最初需要对数据进行排序,然后使用 setSortColumn 更新 sortColumn 上的字形。您可以像这样重用 onSort 事件中使用的排序器:
   var gridSorter = function(columnField, isAsc, grid, gridData) {
var sign = isAsc ? 1 : -1;
var field = columnField
gridData.sort(function (dataRow1, dataRow2) {
var value1 = dataRow1[field], value2 = dataRow2[field];
var result = (value1 == value2) ? 0 :
((value1 > value2 ? 1 : -1)) * sign;
return result;
});
grid.invalidate();
grid.render();
}
var grid = new Slick.Grid($gridContainer, gridData, gridColumns, gridOptions);

//These 2 lines will sort you data & update glyph while loading grid
//columnField is field of column you want to sort initially, isAsc - true/false
gridSorter(columnField, isAsc, grid, gridData);

//I had the columnField, columnId same else used columnId below
grid.setSortColumn(columnField, isAsc);

grid.onSort.subscribe(function(e, args) {
gridSorter(args.sortCol.field, args.sortAsc, grid, gridData);
});

我是如何得出这个解决方案的?

在这里阅读评论。 https://github.com/mleibman/SlickGrid/issues/325

关于slickgrid - 在 slickgrid 上调用排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9678309/

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