如何在ui-grid中获取已过滤的行?

时间:2015-05-09 12:35:40

标签: javascript angularjs angular-ui-grid

使用ui-grid我想使用过滤器获取所有过滤数据行的列表。

在下面的plunker中,我将500个项目的原始数据过滤到61。 现在我如何获得这61个实体的列表?

plnkr link

如果我使用以下代码,我只会获得在屏幕上呈现的行

var _renderedRows = $scope.gridApi.grid.renderContainers.body.renderedRows;

单击该plunker底部的按钮显示过滤行数仅为14而不是61。 如果我的过滤器中有14个或更少,那么这是完美的,因为我可以从上面访问实体对象。 但我无法在网格中看到任何公开过滤行的属性。

那么如何获取61的列表以便我可以将它们传递给另一个函数来对它们执行操作?

2 个答案:

答案 0 :(得分:26)

使用PublicApi获取当前可见行数

$scope.filteredRows = $scope.gridApi.core.getVisibleRows($scope.gridApi.grid);

以下是更新的plnkr(提示:您必须点击"获取已过滤的行"按钮)

答案 1 :(得分:4)

这是对类似问题的回答。它不仅承认可见行,还承认实际过滤的

https://stackoverflow.com/a/36047012/4732117