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

Dec*_*McD 10 javascript angularjs angular-ui-grid

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

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

plnkr链接

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

var _renderedRows = $scope.gridApi.grid.renderContainers.body.renderedRows;
Run Code Online (Sandbox Code Playgroud)

单击该plunker底部的按钮显示过滤行的数量,仅为14而不是61.如果我的过滤器中有14个或更少,则可以完美地工作,因为我可以从上面访问实体对象.但我看不到网格中暴露过滤行的任何属性.

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

kac*_*mbu 27

使用PublicApi获取当前可见行数

$scope.filteredRows = $scope.gridApi.core.getVisibleRows($scope.gridApi.grid);
Run Code Online (Sandbox Code Playgroud)

这是更新的plnkr(提示:您必须单击"获取过滤行"按钮)

  • 我相信这只会使那些设置为可见,如果您启用了分页,则页面大小将最大化。我自己还没有遇到过专门获取*所有*过滤行(跨所有页面)的东西,但我正在寻找...... (2认同)