How do I scroll an ngGrid to show the current selection?

前端 未结 4 1701
甜味超标
甜味超标 2021-02-04 13:15

I\'m setting the selection of my ngGrid from JavaScript, calling gridOptions.selectItem(). I have multiSelect set to false, so there is only ever one row selected.

4条回答
  •  無奈伤痛
    2021-02-04 14:17

      var grid = $scope.gridOptions.ngGrid;
        var aggRowOffsetTop = 0;
        var containerHeight = $(".gridStyle").height() - 40;
        angular.forEach(grid.rowFactory.parsedData, function(row) {
            if(row.entity.isAggRow) {
                aggRowOffsetTop = row.offsetTop;
            }
            if(row.entity.id == $scope.selectedId) {
                if((row.offsetTop - aggRowOffsetTop) < containerHeight) {
                     grid.$viewport.scrollTop(aggRowOffsetTop);
                } else {
                    grid.$viewport.scrollTop(row.offsetTop);
                }
            } 
        });
    

提交回复
热议问题