angularjs – 如何在角度ui网格中禁用编辑排序

我使用角度ui-grid来显示表格数据.

可以编辑单元格数据.
我注意到如果列被排序,然后如果我们编辑单元格,则排序被踢入并移动行.我想在单元格编辑上禁用排序,有没有办法做到这一点.
我在下面提供了plunker链接.在plunk中,首先按升序对第一列进行排序,然后将a2的值编辑为x,然后在单元格外单击,您将看到现在已将eidted行移动到最后一行.我想阻止编辑排序,如果我们在编辑时删除所有现有的活动列排序,基本上就可以了.

  &ltdiv id="grid1" ui-grid="gridOptions" class="grid" ui-grid-edit &gt
  &lt/div&gt
var app = angular.module('app', ['ngAnimate', 'ngTouch', 'ui.grid','ui.grid.edit',
            'ui.grid.selection',
            'ui.grid.rowEdit', 'ui.grid.cellNav']);
app.controller('MainCtrl', function($scope) {
  $scope.gridOptions = {
    enableSorting: true,
    columnDefs: [
      { field: 'A' },
      { field: 'B' },
      { field: 'C', enableSorting: false }
    ],
    onRegisterApi: function( gridApi ) {
      $scope.gridApi = gridApi;
    }
  };

  $scope.gridOptions.data = [{'A':'a1', 'B':'b1', 'C':'c1'}, {'A':'a3', 'B':'b3', 'C':'c3'}, {'A':'a2', 'B':'b2', 'C':'c2'}];

});

see Plunk for the behavior
http://plnkr.co/edit/17H5K6nOEz9gf4Keeap9?p=preview

《angularjs – 如何在角度ui网格中禁用编辑排序》

最佳答案 从beginEditCell回调中,您可以知道用户何时正在编辑.

您可以利用保存和恢复ui-grid状态的优势.

Save and Restore Ui-grid state

从afterCellEdit或cancelCellEdit回调,您可以知道用户何时完成编辑,然后您可以恢复.

点赞