大佬教程收集整理的这篇文章主要介绍了angularjs – 如何滚动ngGrid以显示当前选择?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
关于相关主题:可以通过鼠标点击来禁用行选择吗?如果是这样,怎么办?
编辑添加
如果可能,我也想禁用所选行的键盘导航.
有什么工作
AardVark71的答案工作.我发现ngGrid在gridoptions变量上定义了一个属性ngGrid,它保存对网格对象本身的引用.必要的功能通过此对象的属性来暴露:
$scope.gridoptions.SELEctItem(itemnumber,truE); $scope.gridoptions.ngGrid.$viewport.scrollTop(Math.max(0,(itemnumber - 6))*$scope.gridoptions.ngGrid.config.rowHeight);
我的网格固定为13行高,我的逻辑尝试使选定的行出现在网格的中间.
我还是想禁用鼠标&如果可能,键盘更改为选择.
什么也有效:
这可能更接近于“角色之路”,并达到同样的目的:
// This $watch scrolls the ngGrid to show a newly-SELEcted row as close to the middle row as possible $scope.$watch('gridoptions.ngGrid.config.SELEctedItems',function (newValue,oldValue,scopE) { if (newValue != oldValue && newValue.length > 0) { var rowIndex = scope.gridoptions.ngGrid.data.indexOf(newValue[0]); scope.gridoptions.ngGrid.$viewport.scrollTop(Math.max(0,(rowIndex - 6))*scope.gridoptions.ngGrid.config.rowHeight); } },truE);
另见http://github.com/angular-ui/ng-grid/issues/183和以下来自@ bryan-watts http://plnkr.co/edit/oyIlX9?p=preview的plunker
这个例子可以如何工作如下:
function focusRow(rowToSELEct) { $scope.gridoptions.SELEctItem(rowToSELEct,truE); var grid = $scope.gridoptions.ngGrid; grid.$viewport.scrollTop(grid.rowMap[rowToSELEct] * grid.config.rowHeight); }
编辑:
对于您的问题的第二部分“禁用所选行的鼠标和键盘事件”,最好开始一个新的问题.听起来你想要将enableRowSELEction动态设置为false?不知道如果这是可能的.
以上是大佬教程为你收集整理的angularjs – 如何滚动ngGrid以显示当前选择?全部内容,希望文章能够帮你解决angularjs – 如何滚动ngGrid以显示当前选择?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。