如何访问网格的过滤大小
How do I access the filtered size of the grid?
我正在使用ng网格。我正在使用过滤器。我有那么多功能正常。现在我想(通过编程)知道网格中还有多少项。
我在github上挖掘了源代码,发现该值存储为:
grid.renderContainers.body.visibleRowCache.length;
但我还没能弄清楚如何访问这个变量,特别是网格之外JS中的grid
对象。
其他SO答案包括这样的代码:
angular.element($("#gridDiv")).scope()
当代码工作时,它访问范围(我在JS中已经可以访问该范围),而不是网格中使用的数据。有没有一种方法可以访问网格中的javascript对象?
样品Plunker
在gridOptions
中环顾四周,我发现了一个名为filteredRows
的对象。所以你可以这样得到你想要的长度:
$scope.gridOptions.ngGrid.filteredRows.length
请看下面或更新后的plunkr中的演示。
(onRegisterApi
只是一个测试,不需要它。)
// main.js
var app = angular.module('myApp', ['ngGrid']);
app.controller('MyCtrl', function($scope) {
$scope.myData = [{name: "Moroni", age: 50},
{name: "Tiancum", age: 43},
{name: "Jacob", age: 27},
{name: "Nephi", age: 29},
{name: "Enos", age: 34}];
$scope.filter = {filterText:''};
$scope.gridOptions = {
data: 'myData',
enableFiltering: true,
filterOptions: $scope.filter,
showFilter: true,
onRegisterApi: function( gridApi ) {
$scope.gridApi = gridApi;
$scope.gridApi.core.on.filterChanged( $scope, function() {
console.log($scope.gridApi);
});
}
};
$scope.showRowCount = function() {
console.log($scope.gridOptions.ngGrid.filteredRows.length);
}
});
.gridStyle {
border: 1px solid rgb(212,212,212);
width: 400px;
height: 300px
}
<link href="http://angular-ui.github.com/ng-grid/css/ng-grid.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script src="http://angular-ui.github.com/ng-grid/lib/ng-grid.debug.js"></script>
<div ng-app="myApp" ng-controller="MyCtrl">
<input ng-model="filter.filterText"/>
<button ng-click="showRowCount()">How many rows have been filtered</button>
<div class="gridStyle" ng-grid="gridOptions"></div>
currently visible items: {{gridOptions.ngGrid.filteredRows.length}}
</div>
相关文章:
- ui网格日期单元格过滤器,过滤日期格式导致显示错误的日期
- 剑道网格不允许我在使用自定义列模板时过滤列
- 通过标签选择过滤平行网格
- 用Javascript填充剑道网格列菜单过滤选项
- Kendo UI网格小工具客户端对数字列进行过滤
- ExtJS 6按姓氏或中间名过滤网格的存储
- 如何在 onActiveCellChanged 事件中从过滤的光滑网格中获取正确的行 ID
- 剑道网格:如何从一列中远程过滤 2 个以上的值
- Dojo 网格:将过滤条件发送到服务器,具有有效日期
- 使用输入框过滤剑道网格
- 角度 UI 网格外部过滤
- 剑道UI网格 - 使用ajax帖子过滤
- 剑道网格 :对数组对象进行过滤
- item(i)为null或不是带过滤选项的锁定网格中的对象(extjs3.4)
- 具有多选列的剑道网格自定义过滤功能
- 如何在ExtJS 5中使用分页过滤网格数据
- 如何在Kendo网格的客户端过滤网格时获得事件处理程序
- Jquery脚本后CSS未更新-同位素不对称可过滤网格
- 无法对过滤网格面板进行排序(w/fiddle)
- 如何在Ext.js 4.2.0中过滤网格上的渲染列?