How to get the rows that are actually in the "Showing Items"? $scope.gridApi.core.getVisibleRows seems to be giving inconsistent values.
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);
});

The problem with
filterChangedis that it is raised as soon as the filters change but at that time the data has not necessarily been filtered. To fix this, rather than listening to thefilterChangedyou can listen torowsRenderedevent and that will fix the issue.This way you can also get rid of the
$timeout.