Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何跟踪UI网格中选定行的顺序?_Angularjs_Angular Ui Grid_Ui Grid - Fatal编程技术网

Angularjs 如何跟踪UI网格中选定行的顺序?

Angularjs 如何跟踪UI网格中选定行的顺序?,angularjs,angular-ui-grid,ui-grid,Angularjs,Angular Ui Grid,Ui Grid,AM在角度项目中使用UI-GRID AM想知道是否有方法跟踪所选行的顺序(允许用户选择/取消选择行) ordergridApi.selection.getSelectedRows()返回的命令不适合使用。有什么想法吗? . (如果您随机选择/取消选择元素,plnkr可能有助于突出问题,您将看到元素的保存顺序)我相信这可能接近您想要的,Mero JavaScript/AngularJS控制器: var app = angular.module('app', ['ui.grid', 'ui.gri

AM在角度项目中使用UI-GRID AM想知道是否有方法跟踪所选行的顺序(允许用户选择/取消选择行) order
gridApi.selection.getSelectedRows()
返回的命令不适合使用。有什么想法吗?
. (如果您随机选择/取消选择元素,plnkr可能有助于突出问题,您将看到元素的保存顺序)

我相信这可能接近您想要的,Mero

JavaScript/AngularJS控制器:

var app = angular.module('app', ['ui.grid', 'ui.grid.selection']);
app.controller('MainCtrl', ['$scope', '$http', function($scope, $http) {
  $scope.mySelections = [];
  $scope.mySelectionsInOrder = [];
  $scope.gridOnRegisterApi = function(gridApi) {
    gridApi.selection.on.rowSelectionChanged($scope, function(row) {
      $scope.mySelections = gridApi.selection.getSelectedRows();
      if (row.isSelected) {
        $scope.mySelectionsInOrder.push(row.entity);
      } else {
        $scope.mySelectionsInOrder.splice($scope.mySelectionsInOrder.indexOf(row.entity), 1);
      }
      console.log($scope.mySelections);
    });
  };
  $scope.gridOptions = {
    enableSelectAll: true,
    enableRowSelection: true,
    enableRowHeaderSelection: false,
    enableFullRowSelection: true,
    showGridFooter: true,
    onRegisterApi: $scope.gridOnRegisterApi
  }
  $http.get('data.json')
    .then(function(response) {
      $scope.gridOptions.data = response.data;
    });
}]);
基本思想是在
rowSelectionChanged
事件期间跟踪选择,并使用
row.isSelected
确定是否应
推送
拼接

这是一个正在工作的Plunker

希望这有帮助,如果你还有任何问题,请告诉我