0

ng-grid から並べ替えデータを削除できるようにしたいと思います。以下の例では、「並べ替え」を押したときに並べ替えを削除したいと考えています。

私は ng-grid.js を読んでいて、ClearSortingData() という関数を見つけました。それを実装する方法がわかりません。

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;
    }
}; 

これがプランカーの例です。ありがとうございました。

4

3 に答える 3

3

上記の回答に加えて、エラーが発生する可能性がある1つの欠けているものは

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

列を初期化するためにこれを行うのを忘れました。つまり、リセットすると、未定義の長さにアクセスしようとしていることがコンソールに表示され、並べ替えが機能しません。

于 2014-02-25T16:40:02.357 に答える