Angularjs 以编程方式选择UI网格中的行,而不使用侦听器

Angularjs 以编程方式选择UI网格中的行,而不使用侦听器,angularjs,angular-ui,angular-ui-grid,Angularjs,Angular Ui,Angular Ui Grid,我希望在默认情况下选择网格的所有行,并通过在onRegisterApi中添加数据侦听器来实现,如中所述: 工作许可证: 然而,我不明白为什么没有一个倾听者它就不能工作,比如 onRegisterApi : function(gridApi) { $scope.gridApi = gridApi; _.each($scope.gridOptions.data, function(companies, index){ $scope.gridA

我希望在默认情况下选择网格的所有行,并通过在onRegisterApi中添加数据侦听器来实现,如中所述:

工作许可证:

然而,我不明白为什么没有一个倾听者它就不能工作,比如

onRegisterApi : function(gridApi)
    {
      $scope.gridApi = gridApi; 
        _.each($scope.gridOptions.data, function(companies, index){
          $scope.gridApi.selection.selectRow($scope.gridOptions.data[index]);
      });

    }
非工作状态:


有人能告诉我为什么吗?

它确实有效,您只需要等待网格加载,例如,有一个小的超时。通过这种方式,浏览器呈现DOM并在之后执行JS,即使超时很小


我在angular 1.5.0版本中使用了以下代码。它对我有用

app.controller('MainCtrl', ['$scope', '$http', '$interval', 'uiGridConstants','$location', function ($scope, $http, $interval, uiGridConstants, $location) { ...............
//$interval,等待网格消化我们刚才提供的数据

$interval( function() {$scope.gridApi.selection.selectRow($scope.gridOptions.data[0]);}, 0, 1);

谢谢你的帮助,但是根据我的说法,应该不需要更多的$timeout了。谢谢你回答了这么一个老问题!哇,这真的很有效。我在没有间隔的情况下进行了尝试,没有选择任何行。随着时间的推移,它工作得非常完美。谢谢
app.controller('MainCtrl', ['$scope', '$http', '$interval', 'uiGridConstants','$location', function ($scope, $http, $interval, uiGridConstants, $location) { ...............
$interval( function() {$scope.gridApi.selection.selectRow($scope.gridOptions.data[0]);}, 0, 1);