如何在列更改位置时获取事件?

how to get event when column changed it position?

我正在使用 UI-grid。因为我正在使用此处的列移动功能。 http://ui-grid.info/docs/#/tutorial/217_column_moving 使用该用户更改网格列位置。当它成功更改列的位置时,我想要一个事件。 我想在更改列的位置后显示警报。换句话说,我想在列成功删除时添加回调函数。

这是我的代码 http://plnkr.co/edit/osrmsawxqhA7pEHYP1EE?p=preview 我想在列位置更改后显示警报

<!doctype html>
<html ng-app="app">
  <head>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular-touch.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular-animate.js"></script>
    <script src="http://ui-grid.info/docs/grunt-scripts/csv.js"></script>
    <script src="http://ui-grid.info/docs/grunt-scripts/pdfmake.js"></script>
    <script src="http://ui-grid.info/docs/grunt-scripts/vfs_fonts.js"></script>
    <script src="http://ui-grid.info/release/ui-grid.js"></script>
    <link rel="stylesheet" href="http://ui-grid.info/release/ui-grid.css" type="text/css">
    <link rel="stylesheet" href="main.css" type="text/css">
  </head>
  <body>

<div ng-controller="MainCtrl">
<div class="grid" ui-grid="gridOptions" ui-grid-move-columns></div>
</div>


    <script src="app.js"></script>
  </body>
</html>

您可以使用 API:

gridApi.colMovable.on.columnPositionChanged(scope,function(colDef, originalPosition, newPosition){})

添加以下代码片段:

  $scope.gridOptions.onRegisterApi = function(gridApi) {
gridApi.colMovable.on.columnPositionChanged($scope,function(colDef, originalPosition, newPosition){
  alert('test');
})

};

http://plnkr.co/edit/DRl6sn4Wyk8uaurvVrwt?p=preview

使用以下代码处理列更改事件

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

      };

使用 "ui-grid-move-columns" 指令处理列移动事件

<div class="grid" ui-grid="gridOptions" ui-grid-move-columns></div>