ui-grid scrollToFocus 当排序应用于网格时
ui-grid scrollToFocus when sorting is applied to the grid
我在尝试使用 scrollToFocus 方法将焦点设置在网格的第一行时遇到问题。
问题似乎与排序方向有关:
sort: {
direction: uiGridConstants.DESC
}
如果我忽略它,它就会按预期工作。我只能假设行号是排序前的数据行,并且不考虑任何 'post' 排序。
下面是问题示例:http://plnkr.co/edit/beWci0?p=preview
您会看到,当单击 select 第一行时,它实际上会转到另一行 - 网格绑定到的数据集中的第一行。
关于如何根据排序结果考虑行位置有什么想法吗?
它是通过删减此处的示例拼凑而成的:http://ui-grid.info/docs/#/tutorial/202_cellnav
如果你想 select 网格中的第一行而不考虑排序和过滤,你将不得不查看可见行,ui-网格不会呈现网格中的所有行数据数组。所以可见行数可能少于实际数据行数。
到select第一行你可以做以下操作,
$scope.scrollToFocus = function( rowIndex, colIndex ) {
var row = $scope.gridApi.grid.getVisibleRows()[rowIndex].entity;
$scope.gridApi.cellNav.scrollToFocus( row, $scope.gridOptions.columnDefs[colIndex]);
};
这将 select 第一个可见行并将焦点设置在第三列。
在这里Plnkr http://plnkr.co/edit/gWlY68?p=preview
我在尝试使用 scrollToFocus 方法将焦点设置在网格的第一行时遇到问题。
问题似乎与排序方向有关:
sort: {
direction: uiGridConstants.DESC
}
如果我忽略它,它就会按预期工作。我只能假设行号是排序前的数据行,并且不考虑任何 'post' 排序。
下面是问题示例:http://plnkr.co/edit/beWci0?p=preview
您会看到,当单击 select 第一行时,它实际上会转到另一行 - 网格绑定到的数据集中的第一行。
关于如何根据排序结果考虑行位置有什么想法吗?
它是通过删减此处的示例拼凑而成的:http://ui-grid.info/docs/#/tutorial/202_cellnav
如果你想 select 网格中的第一行而不考虑排序和过滤,你将不得不查看可见行,ui-网格不会呈现网格中的所有行数据数组。所以可见行数可能少于实际数据行数。
到select第一行你可以做以下操作,
$scope.scrollToFocus = function( rowIndex, colIndex ) {
var row = $scope.gridApi.grid.getVisibleRows()[rowIndex].entity;
$scope.gridApi.cellNav.scrollToFocus( row, $scope.gridOptions.columnDefs[colIndex]);
};
这将 select 第一个可见行并将焦点设置在第三列。 在这里Plnkr http://plnkr.co/edit/gWlY68?p=preview