如何在UI-GRID上强制水平滚动向右移动

时间:2014-11-13 22:50:09

标签: javascript angularjs scrollbar ng-grid angular-ui-grid

我想创建一个手动将水平滚动条定位到最右边的功能。我很难弄清楚如何实现这种效果。之前有一个类似于我的stackoverflow问题(How do I scroll an ngGrid to show the current selection?),但解决方案是NgGrid,一个旧版本的ui-grid。用户发布了使ngGrid版本生效的解决方案(http://plnkr.co/edit/oyIlX9?p=preview)。

$scope.scrollTo = function() {
    var grid = $scope.gridOptions.ngGrid;
    grid.$viewport.scrollTop(grid.rowMap[$scope.index] * grid.config.rowHeight);
};

我尝试为ui-grid使用相同的代码,但是这个较新的版本似乎没有$ viewport。我创建了一个plunker,看看我正在做什么的一个例子。水平滚动条最初从最左边开始。我想写一些代码将它移到最右边。

http://plnkr.co/edit/SJEoPxelB2HYHLsfZ768?p=preview

如果有人可以帮助我,那就太好了:)

1 个答案:

答案 0 :(得分:1)

使用最新的ui-grid,您可以使用网格上的scrollTo函数滚动到网格的右侧。

  $scope.gridApi.grid.scrollTo(data[0],{name:"col8"});

第一个参数是数据行,第二个参数是列定义,至少是列的名称。

http://plnkr.co/edit/KfaJti5BTnyvwjWRhtWe?p=preview是工作版本。