我在尝试使用 scrollToFocus 方法将焦点设置在网格的第一行时遇到问题。
问题似乎集中在排序方向上:
sort: {
direction: uiGridConstants.DESC
}
如果我省略它,那么它会按预期工作。我只能假设行号是排序前的数据行,并且不考虑任何“后”排序。
这是一个问题示例:http://plnkr.co/edit/beWci0?p=preview
您会看到,当单击选择第一行时,它实际上会转到另一行 - 网格绑定(bind)到的数据集中的第一行。
关于如何根据排序结果考虑行位置有什么想法吗?
它是从这里的示例中整理出来的:http://ui-grid.info/docs/#/tutorial/202_cellnav
最佳答案
如果你想选择网格中的第一行而不考虑排序和过滤,你将不得不查看可见行,ui-grid 不会呈现数据数组中的所有行。因此可见行数可能少于实际数据行数。
要选择第一行,您可以执行以下操作,
$scope.scrollToFocus = function( rowIndex, colIndex ) {
var row = $scope.gridApi.grid.getVisibleRows()[rowIndex].entity;
$scope.gridApi.cellNav.scrollToFocus( row, $scope.gridOptions.columnDefs[colIndex]);
};
这将选择第一个可见行并将焦点设置在第三列。 在这里Plnkr http://plnkr.co/edit/gWlY68?p=preview
关于angularjs - 将排序应用于网格时的 ui-grid scrollToFocus,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31435818/