Angularjs 将排序应用于网格时ui网格滚动焦点

Angularjs 将排序应用于网格时ui网格滚动焦点,angularjs,angular-ui-grid,Angularjs,Angular Ui Grid,我在尝试使用scrollToFocus方法将焦点设置在网格中的第一行时遇到问题 问题似乎集中在分拣方向上: sort: { direction: uiGridConstants.DESC } 如果我忽略了这一点,那么它的工作正如预期的那样。我只能假设行号是排序前的数据行,不考虑任何“post”排序 下面是一个问题示例: 您将看到,当单击选择第一行时,它实际上会转到另一行—网格绑定到的数据集中的第一行 有没有关于如何根据排序结果考虑行位置的想法 它是从这里的示例中整理出来的:如果

我在尝试使用scrollToFocus方法将焦点设置在网格中的第一行时遇到问题

问题似乎集中在分拣方向上:

 sort: {
    direction: uiGridConstants.DESC
 }  
如果我忽略了这一点,那么它的工作正如预期的那样。我只能假设行号是排序前的数据行,不考虑任何“post”排序

下面是一个问题示例:

您将看到,当单击选择第一行时,它实际上会转到另一行—网格绑定到的数据集中的第一行

有没有关于如何根据排序结果考虑行位置的想法


它是从这里的示例中整理出来的:

如果要选择网格中的第一行,而不考虑排序和筛选,则必须查看可见行,ui网格不会呈现数据数组中的所有行。因此,可见行的数量可能小于实际数据行

要选择第一行,可以执行以下操作:

$scope.scrollToFocus = function( rowIndex, colIndex ) {
   var row = $scope.gridApi.grid.getVisibleRows()[rowIndex].entity;
  $scope.gridApi.cellNav.scrollToFocus( row, $scope.gridOptions.columnDefs[colIndex]);
};
这将选择第一个可见行,并将焦点设置在第三列上。
Plnkr这里

谢谢,这很有效。但是,可以通过声明getVisibleRows返回网格中包含的所有行来更清楚地说明文档()。有些人可能会推断它只返回他们可以在网格可见边界内看到的行。我对此有另一个问题,但正如您回答了我最初的问题一样,我将其作为一个单独的问题提出()@dubs可见行不会返回所有行。您能提供更多关于它的功能的详细信息吗?这是一个新的plunkr,显示了总数。