Angular slickgrid column wise 删除排序选项无法正常工作
Angular slickgrid column wise remove sort option not working properly
在 angular slickgrid 中,按列排序 asc/desc 工作正常。但是删除按列排序 header 菜单无法正常工作。当我删除排序时,数据集应重置为最初加载的数据视图。但它保持最后的排序顺序。当我清除所有按网格菜单排序时,它工作正常。在这里我分享了我的问题案例作为gif文件,请任何人帮助我解决这个问题。
你可以打电话给dataView.reSort();
强制度假村,这似乎是你要找的。网格菜单调用 dataView.refresh();
,我不确定这是否会触发核心库的 reSort
,也许会。 header 菜单仅删除列排序而不知道是否还有任何排序,它基本上不会跟踪剩余多少排序并且它不会调用 reSort
也不会调用 refresh
但您可以自己调用它,它只会告诉 DataView 嘿,请删除此列的排序。
现在要向 header 菜单添加一个额外的进程,您需要订阅 clear-sort
header 菜单命令,您可以通过这样做来实现(我没有测试过,但应该可以)
this.gridOptions = {
headerMenu: {
onCommand: (e, args) => {
if (args.command === 'clear-sort') {
const dataView = args.grid.getData();
const sortCols = args.grid.getSortColumns();
// add logic to know if this is last column sort
if (sortCols.length === 0) {
// then call "refresh" or "reSort" either or
// dataView.refresh();
dataView.reSort();
// if that doesn't work then try to call lib SortService from (onAngularGridCreated)
// this.angularGrid.sortService.clearSorting();
}
}
}
}
请注意,我是 Angular-Slickgrid 的作者,此解决方案不是库本身的一部分,我可能会在稍后添加它,但目前这应该是一个可能的临时解决方案。
在 angular slickgrid 中,按列排序 asc/desc 工作正常。但是删除按列排序 header 菜单无法正常工作。当我删除排序时,数据集应重置为最初加载的数据视图。但它保持最后的排序顺序。当我清除所有按网格菜单排序时,它工作正常。在这里我分享了我的问题案例作为gif文件,请任何人帮助我解决这个问题。
你可以打电话给dataView.reSort();
强制度假村,这似乎是你要找的。网格菜单调用 dataView.refresh();
,我不确定这是否会触发核心库的 reSort
,也许会。 header 菜单仅删除列排序而不知道是否还有任何排序,它基本上不会跟踪剩余多少排序并且它不会调用 reSort
也不会调用 refresh
但您可以自己调用它,它只会告诉 DataView 嘿,请删除此列的排序。
现在要向 header 菜单添加一个额外的进程,您需要订阅 clear-sort
header 菜单命令,您可以通过这样做来实现(我没有测试过,但应该可以)
this.gridOptions = {
headerMenu: {
onCommand: (e, args) => {
if (args.command === 'clear-sort') {
const dataView = args.grid.getData();
const sortCols = args.grid.getSortColumns();
// add logic to know if this is last column sort
if (sortCols.length === 0) {
// then call "refresh" or "reSort" either or
// dataView.refresh();
dataView.reSort();
// if that doesn't work then try to call lib SortService from (onAngularGridCreated)
// this.angularGrid.sortService.clearSorting();
}
}
}
}
请注意,我是 Angular-Slickgrid 的作者,此解决方案不是库本身的一部分,我可能会在稍后添加它,但目前这应该是一个可能的临时解决方案。