2017-07-11 9 views
0

「表示アイテム」に実際に含まれている行を取得するにはどうすればよいですか? $ 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); 
}); 

enter image description here

答えて

1

filterChangedの問題は、それが、すぐにフィルターが変化するとして提起されていることであるが、その時点でのデータが必ずしもフィルタリングされていません。これを修正するには、filterChangedを聞くのではなく、rowsRenderedイベントを聞くことができます。これで問題が解決されます。

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

あなたも$timeout.

を取り除くことができますこの方法
関連する問題