Angularjs ngGrid清除排序数据

Angularjs ngGrid清除排序数据,angularjs,ng-grid,Angularjs,Ng Grid,我希望能够从ng网格中删除排序数据。在下面的示例中,我希望在按下“排序”时删除排序 我一直在阅读ng-grid.js,发现了一个名为ClearOrtingData()的函数。我不知道如何实现它,或者它是否应该做我想做的 self.clearSortingData = function (col) { if (!col) { angular.forEach(self.lastSortedColumns, function (c) { c.sortDi

我希望能够从ng网格中删除排序数据。在下面的示例中,我希望在按下“排序”时删除排序

我一直在阅读ng-grid.js,发现了一个名为ClearOrtingData()的函数。我不知道如何实现它,或者它是否应该做我想做的

self.clearSortingData = function (col) {
    if (!col) {
        angular.forEach(self.lastSortedColumns, function (c) {
            c.sortDirection = "";
            c.sortPriority = null;
        });
        self.lastSortedColumns = [];
    } else {
        angular.forEach(self.lastSortedColumns, function (c) {
            if (col.index !== c.index) {
                c.sortDirection = "";
                c.sortPriority = null;
            }
        });
        self.lastSortedColumns[0] = col;
        self.lastSortedColumns.length = 1;
    }
}; 

这是一个例子。谢谢。

我在需要清除排序和筛选时遇到了类似的问题。为了清除排序,我在一个使用外部排序的函数中使用了它(没有尝试使用javascript排序)


希望能有所帮助。

除了上面的答案,还有一点可能会让你犯错,那就是

 $scope.gridOptions.ngGrid.config.sortInfo = { fields:[], directions: [], columns:[] };

您没有执行初始化列的操作,这意味着在控制台上会显示试图访问未定义的长度,排序将不起作用。

如果使用外部sortInfo来处理,则需要添加

$scope.sortInfo=$scope.gridOptions.ngGrid.config.sortInfo


为了使ngGrid内部sortInfo和外部sortInfo保持一致

非常感谢您,先生。这真的很有帮助!!感谢普拉蒂克,下面是缺失的片段。很好,普拉蒂克,我编辑了原始答案,包括你的更正。
 $scope.gridOptions.ngGrid.config.sortInfo = { fields:[], directions: [], columns:[] };