作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个选定的行,通过单击某个按钮(目前我通过 AngularHotkeys.js 使用空格)我想取消选择当前行并选择当前选定行之后的下一个。
知道我可以用不同的列对表进行排序,事情就更复杂了。因此,如果知道应用了当前排序的当前行的索引,那就太好了。
我从哪里开始解决这个问题?
任何建议表示赞赏。
最佳答案
您可以从 $scope.gridApi.grid.renderContainers.body.visibleRowCache
中获取处于排序和过滤状态的行数组。当您拥有实体和拥有 gridRow 时,还需要处理很多技巧,因此代码会变得有点复杂。
你的代码应该是这样的:
$scope.selectNextRow = function() {
var currentRowIndex;
var selectedRows = $scope.gridApi.selection.getSelectedRows();
if( selectedRows.length < 1 ){
// if nothing selected, we'll select the top row
currentRowIndex = -1;
} else {
// if there are multiple selected, we use the first one
var selectedRow = selectedRows[0];
var gridRow = $scope.gridApi.grid.getRow(selectedRow);
currentRowIndex = $scope.gridApi.grid.renderContainers.body.visibleRowCache.indexOf(gridRow);
}
$scope.gridApi.selection.clearSelectedRows();
$scope.gridApi.selection.selectRow($scope.gridApi.grid.renderContainers.body.visibleRowCache[currentRowIndex + 1].entity);
};
关于javascript - 如何在 Angular UI 网格中选择下一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29544320/
我是一名优秀的程序员,十分优秀!