当列改变位置时如何获取事件?

时间:2016-03-19 01:37:44

标签: javascript angularjs angularjs-directive angularjs-scope angular-ui-grid

我正在使用 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>

2 个答案:

答案 0 :(得分:2)

您可以使用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

答案 1 :(得分:0)

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

$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>