我有3个搜索字段可以过滤我的表格(名称,目标,覆盖面) 前两个创建常规过滤器,意味着更改其中一个“filterText”属性在此结构中更改:
name: [NAME_VALUE]; target: [TARGET_VALUE];
问题在于最后一个问题。我想让它按低于或等于过滤。
这样的事情:
name: [NAME_VALUE]; target: [TARGET_VALUE]; reach: >[REACH_VALUE]
所以我发现我应该创建自定义过滤功能并将“useExternalFilter”设置为true。
我为此搜索了2天,但没有找到完整的答案: 如何获取对行的引用以进行过滤? 当我得到这个引用时,如何使用ng-grid方式隐藏行?
这是我到目前为止所做的事情: 我在ng-grid的源代码中看到,他们在“filterText”的更改时发出了“ngGridEventFilter”事件,所以我用它来听取它:
$scope.$on( "ngGridEventFilter", function(){
$scope.checkReach( );
});
答案 0 :(得分:2)
您正在覆盖网格内部过滤器逻辑,您必须自己处理它,服务器端。
<input type="text" ng-model="filterOptions.filterText" placeholder="Filter">
app.controller('MyCtrl', function($scope) {
$scope.filterOptions = {
filterText: "",
useExternalFilter: true
};
$scope.gridOptions = {
data: 'myData',
filterOptions: $scope.filterOptions
};
$scope.$watch('filterOptions', function () {
//Call an async function to fetch data here.
someAsyncFunction($scope.filterOptions.filterText);
}, true);
});