angularjs – Angular UI-Grid:过滤后如何获取总项数

前端之家收集整理的这篇文章主要介绍了angularjs – Angular UI-Grid:过滤后如何获取总项数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用UI Grid来显示一些数据.其中一列是文本,所以我有’包含’过滤功能,完美无缺.

我也在使用分页. UI-Grid的右角显示如下内容

1 – 23 of 23 items

在我的页面功能(角度控制器端)中,我需要返回总项数,特别是该行的最后一个“23”.我在文档中找不到任何内容(来自文档):

GridOptions (api in module ui.grid.pagination )

totalItems
Total number of items,set automatically when client side pagination,needs
set by user for server side pagination”

所以我尝试使用$scope.gridOptions.totalItems但不幸的是,当页面首次加载时它总是返回0.

我的解决方法是使用data.length,这将给我我需要的东西.经过进一步测试后,虽然我意识到在使用过滤后,分页页脚上的总项目会更改为匹配结果的总和.我还没有找到另一种方法来获得这个数字.

还有一件事:
是否有一个事件在过滤完成后触发,以便我可以检查$scope.gridOptions.totalItems然后呢?

有任何想法吗?
提前致谢 :)

你应该避免使用jQuery(正如另一篇文章所建议的那样)并与API进行交互.

首先需要在网格创建事件中保存对API的引用.

$scope.gridOptions = {
    ....
    onRegisterApi: registerGridApi,....
};
function registerGridApi(gridApi) {
    $scope.gridApi = gridApi;
}

您应该已经知道总行数.

您可以使用以下命令获取可见/已过滤行数:

gridApi.core.getVisibleRows().length

要么

gridApi.grid.getVisibleRows().length

您可以使用以下命令获取所选行的数量

gridApi.selection.getSelectedRows().length
原文链接:https://www.f2er.com/angularjs/141559.html

猜你在找的Angularjs相关文章