如何获取实际位于"显示项目"?中的行 $ scope.gridApi.core.getVisibleRows似乎给出了不一致的值。
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);
});
答案 0 :(得分:1)
filterChanged
的问题是,一旦过滤器发生变化就会引发问题,但此时数据未必被过滤。要解决此问题,您可以收听filterChanged
事件,而不是收听rowsRendered
,这样可以解决问题。
gridApi.core.on.rowsRendered($scope, function () {
var allvisiblerows = $scope.gridApi.core.getVisibleRows($scope.gridApi.grid);
$scope.visibleRowsCount = allvisiblerows.length;
});
这样你也可以摆脱$timeout.