2015-06-01 4 views
2

Я хочу прокрутить до конца сетки при загрузке данных. Но код не работает. Пожалуйста, помогитеПрокрутка до конца сетки UI-Grid Angular js

$scope.addData = function() { 
     var n = $scope.gridOptions.data.length + 1; 
     $scope.gridOptions.data.push({ 
        "type":"student", 
        "is_job_ready":"true", 
        "is_night_shift":"true" 
       }); 
    $scope.scrollTo($scope.gridOptions.data.length -1,0) 
    }; 

$scope.scrollTo = function(rowIndex, colIndex) { 
     $scope.gridApi.core.scrollTo($scope.gridOptions.data[rowIndex],$scope.gridOptions.columnDefs[colIndex]); 
}; 

ответ

4

Вам нужно включить этот модуль в код JS:

ui.grid.cellNav

Затем этот свиток будет работать:

$scope.gridApi.core.scrollTo($scope.gridOptions.data[$scope.gridOptions.data.length - 1], $scope.gridOptions.columnDefs[0]);

0

К сожалению, это представляется по-прежнему необходимо использовать $timeout

Например

$timeout(function() { 
    // Do this after the columns and rows processors have finished and it is all rendered. 
    $scope.gridApi.core.scrollTo($scope.gridOptions.data[$scope.gridOptions.data.length - 1], $scope.gridOptions.columnDefs[0]); 
}, 100); 

Это даже после того, как я попытался ожидания на modifyRows, как это в моем коде

gridApi.grid.modifyRows(list).then(function() { 
    // Do this after the columns and rows processors have finished and it is all rendered. 
    gridApi.selection.selectRow(list[rowIndex]); 
    gridApi.core.scrollTo(list[rowIndex], grid.columnDefs[0]); 
}); 
Смежные вопросы