2017-07-11 5 views
0

Wie erhält man die Zeilen, die sich tatsächlich in den "Zeige-Objekten" befinden? $ scope.gridApi.core.getVisibleRows scheint inkonsistente Werte zu geben.

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

gridApi.core.on.filterChanged($scope, function() { 
    $timeout(function() { 
     var allvisiblerows = $scope.gridApi.core.getVisibleRows($scope.gridApi.grid); 
     $scope.visibleRowsCount = allvisiblerows.length; 
    }, 0); 
}); 

enter image description here

Antwort

1

Das Problem mit filterChanged ist, dass es so schnell erhöht wird, da die Filter ändern, aber zu dieser Zeit die Daten nicht notwendigerweise gefiltert. Um dies zu beheben, anstatt auf die filterChanged zu hören, können Sie das Ereignis rowsRendered anhören und das Problem beheben.

gridApi.core.on.rowsRendered($scope, function() { 
    var allvisiblerows = $scope.gridApi.core.getVisibleRows($scope.gridApi.grid); 
    $scope.visibleRowsCount = allvisiblerows.length; 
}); 

Auf diese Weise können auch der $timeout.

loswerden können
Verwandte Themen