Javascript Ui网格检查是否选择了任何行?

Javascript Ui网格检查是否选择了任何行?,javascript,angular-ui-grid,Javascript,Angular Ui Grid,我有一个ui网格和一个按钮,当我点击按钮时,它应该首先检查是否至少选择了一行,如果没有,则显示警报。 我试过了 但它什么也不退,我也不能把任何“如果其他”的支票放进去。 (我不想使用名词选择) 有人能帮忙吗?试着将代码放在onRegisterApi中: $scope.gridOptions = { [...] onRegisterApi : function (gridApi) { $scope.

我有一个ui网格和一个按钮,当我点击按钮时,它应该首先检查是否至少选择了一行,如果没有,则显示警报。 我试过了

但它什么也不退,我也不能把任何“如果其他”的支票放进去。 (我不想使用名词选择)
有人能帮忙吗?

试着将代码放在onRegisterApi中:

$scope.gridOptions = {
              [...]
                onRegisterApi : function (gridApi) {
                    $scope.gridApi = gridApi;
                    $log.debug(gridApi.selection.getSelectedRows() );
                    $scope.gridApi.grid.modifyRows($scope.gridOptions.data);
                 $scope.gridApi.selection.selectRow($scope.gridOptions.data[0]);
                    $log.debug(gridApi.selection.getSelectedRows() );
                }
            };
它给出所选行的数量

if(gridApi.selection.getSelectedRows().length ==0)

未选择任何行…

您可以发布您的代码吗?gridApi是如何定义的?正如Rob所说,您需要将gridApi保存在onRegisterApi中—保存到$scope或另一个本地对象—如果您使用的是controllerAs语法vm,则保存到vm.gridApi。然后您可以在控制器/服务中的其他位置使用:var selectedRows=vm.gridApi.selection.getSelectedRows();
console.log(gridApi.selection.getSelectedRows().length);
if(gridApi.selection.getSelectedRows().length ==0)