加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angular-ui-grid – 如何在ui-grid中禁用多列排序

发布时间:2020-12-17 17:15:21 所属栏目:安全 来源:网络整理
导读:我有一个客户端在进行排序时特别不喜欢列标题中的下一个数字.这基于UI-Grid的多重排序,它为每列提供了编号优先级.有没有办法禁用多重排序,以删除这些数字?我仍然希望保持激活排序,但一次只能在一列上. 谢谢. 解决方法 我自己也遇到过这个问题.如果仔细查看u
我有一个客户端在进行排序时特别不喜欢列标题中的下一个数字.这基于UI-Grid的多重排序,它为每列提供了编号优先级.有没有办法禁用多重排序,以删除这些数字?我仍然希望保持激活排序,但一次只能在一列上.
谢谢.

解决方法

我自己也遇到过这个问题.如果仔细查看ui0grid.js代码,您会发现(此时)没有选项可以对其进行调整. ui-grid的作者表示,他们欢迎在 this thread年提出此类功能的请求

但是,你需要修复,而不是承诺;-)

您可以在sortChanged方法中找到已选择的sortColumns数.

尝试这样的事情:

$scope.gridOptions.onRegisterApi = function(gridApi) {
    $scope.gridApi = gridApi;

    // Register a handler that is fired everytime someone changd the sort params.
    $scope.gridApi.core.on.sortChanged($scope,function(grid,sortColumns) {
        if (sortColumns.length > 1) {
            // We have more than one sort. Kill the first one.
            // If this works we'll only ever have 0,1 or 2 sortColumns,// and only ever 2 for the lifetime of this method.
            var column = null;
            for (var j = 0; j < grid.columns.length; j++) {
                if (grid.columns[j].name === sortColumns[0].field) {
                    column = grid.columns[j];
                    break;
                }
             }
             if (column) {
                 sortColumns[1].sort.priority = 1; // have to do this otherwise the priority keeps going up.                           
                 column.unsort();
             }
         }
    });
};

这是针对ui-grid的3.0.0版本.

HTH

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读