我正在使用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进行交互.
原文链接:https://www.f2er.com/angularjs/141559.html首先需要在网格创建事件中保存对API的引用.
@H_301_31@$scope.gridOptions = { .... onRegisterApi: registerGridApi,.... }; function registerGridApi(gridApi) { $scope.gridApi = gridApi; }您应该已经知道总行数.
您可以使用以下命令获取可见/已过滤行数:
@H_301_31@gridApi.core.getVisibleRows().length要么
@H_301_31@gridApi.grid.getVisibleRows().length @H_301_31@gridApi.selection.getSelectedRows().length