加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 07:18:15 所属栏目:安全 来源:网络整理
导读:我正在使用UI Grid来显示一些数据.其中一列是文本,所以我有’包含’过滤功能,完美无缺. 我也在使用分页. UI-Grid的右角显示如下内容: 1 – 23 of 23 items 在我的页面功能(角度控制器端)中,我需要返回总项数,特别是该行的最后一个“23”.我在文档中找不到任
我正在使用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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读