Angularjs UI网格获取选定行的索引

Angularjs UI网格获取选定行的索引,angularjs,angular-ui-grid,Angularjs,Angular Ui Grid,我想要ui网格中所选行的索引/索引值。 我尝试使用onRowSelectionChange事件获取它。但是没能得到它 有人对此有什么想法吗?现在可能有一个更优雅的解决方案,但在几个月前我使用的ui grid版本中,我使用了以下服务功能来获取行索引 getRowIndex: function (row, grid) { var rowIndex = -1; for (var i = 0; i < grid.renderContainers.body.visibleRowCac

我想要ui网格中所选行的索引/索引值。 我尝试使用onRowSelectionChange事件获取它。但是没能得到它


有人对此有什么想法吗?

现在可能有一个更优雅的解决方案,但在几个月前我使用的ui grid版本中,我使用了以下服务功能来获取行索引

getRowIndex: function (row, grid) {
    var rowIndex = -1;
    for (var i = 0; i < grid.renderContainers.body.visibleRowCache.length; i++) {
        if (row.uid === grid.renderContainers.body.visibleRowCache[i].uid) {
            rowIndex = i;
            break;
        }
    }
    return rowIndex;
}
打电话

var myIndex = myService.getRowIndex(row, $scope.gridApi.grid);
请注意,当您重新排序或更改数据时,此索引会更改。它基于用户看到的数据索引。

在控制器网格选项集中:

$scope.grid_Options.data实际上是您提供给网格的数据

var myIndex = myService.getRowIndex(row, $scope.gridApi.grid);
onRegisterApi: function(gridApi) {
                $scope.gridApi = gridApi;
                gridApi.selection.on.rowSelectionChanged($scope,function(row){
                 var removeRowIndex = $scope.grid_Options.data.indexOf(row.entity);
                });
               }