Javascript 角度ui网格事件:选定行

Javascript 角度ui网格事件:选定行,javascript,angularjs,angular-ui-grid,Javascript,Angularjs,Angular Ui Grid,我正在尝试根据用户界面网格上的行选择启用/禁用按钮。如果未选择任何行,则该按钮将被禁用 我在选择一行后触发事件的旧ng网格方式中发现了这一点 $scope.gridOptions = { data: 'myData', selectedItems: $scope.selections, enableRowSelection: true, afterSelectionChange:function() { if ($scope.selections !=

我正在尝试根据用户界面网格上的行选择启用/禁用按钮。如果未选择任何行,则该按钮将被禁用

我在选择一行后触发事件的旧ng网格方式中发现了这一点

  $scope.gridOptions = { 

  data: 'myData', 
  selectedItems: $scope.selections,
  enableRowSelection: true,

  afterSelectionChange:function() {
        if ($scope.selections != "" ) {
            $scope.disabled = false;
        } else {
            $scope.disabled = true;
        }
  }
};
不幸的是,它不起作用,我在ui网格中没有发现此类事件的迹象


如何使用ui grid实现这一点?

在ui grid中,在事件“rowSelectionChanged”上注册回调函数


我认为您应该看看ui网格中的教程页面:。在我看来,API页面很糟糕:(.

您可以通过执行以下操作,首先获取
网格中当前选定的所有记录:

$scope.rowsSelected = $scope.gridApi.selection.getSelectedRows();
现在,我们可以使用以下方法获得此数组的长度:

$scope.countRows = $scope.rowsSelected.length;
基于
$scope.countRows>0
0
,您可以使用

ng-disabled = "countRows"
在HTML端,您可以使用如下内容

    <button class="custom-button" ng-disabled="countRows<=0" ng-click="submit()">Details</button>
详细信息

我应该向回调函数传递哪些参数?
gridApi.selection.on.rowSelectionChanged($scope,function(row){var msg='row selected'+row.isSelected;$log.log(msg);});
API页面真的很糟糕,但下面是URL:Thank@shivisuper很高兴它很有用!
   $scope.countRows=0;

    $scope.gridOptions.onRegisterApi = function(gridApi){

       $scope.gridApi = gridApi;

       gridApi.selection.on.rowSelectionChanged($scope, function(row){ 
        $scope.countRows = $scope.gridApi.selection.getSelectedRows().length;
        });

       gridApi.selection.on.rowSelectionChangedBatch($scope, function(row){ 
        $scope.countRows = $scope.gridApi.selection.getSelectedRows().length;
        });
    }; 
    <button class="custom-button" ng-disabled="countRows<=0" ng-click="submit()">Details</button>