gpt4 book ai didi

angularjs - Angular UI 网格 : How to get number of total items after filtering

转载 作者:行者123 更新时间:2023-12-04 10:24:43 24 4
gpt4 key购买 nike

我正在使用 UI 网格来显示一些数据。其中一列是文本,所以我有“包含”过滤,效果很好。

我也在使用分页。 UI-Grid 的右上 Angular 显示如下内容:
1 - 23 of 23 items
在我的页面功能( Angular Controller 端)中,我需要返回总项目数,特别是该行的最后一个“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

关于angularjs - Angular UI 网格 : How to get number of total items after filtering,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28342135/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com