Angularjs ng网格中的外部过滤器
我有3个搜索字段可以筛选我的表(名称、目标、到达)。Angularjs ng网格中的外部过滤器,angularjs,ng-grid,Angularjs,Ng Grid,我有3个搜索字段可以筛选我的表(名称、目标、到达)。 前2个创建常规筛选器,这意味着更改其中一个筛选器时,此结构中的“filterText”属性将发生更改: name: [NAME_VALUE]; target: [TARGET_VALUE]; 问题在于最后一个。我想让它按低于或高于过滤 大概是这样的: name: [NAME_VALUE]; target: [TARGET_VALUE]; reach: >[REACH_VALUE] 所以我想我应该创建我的自定义过滤函数并将“useEx
前2个创建常规筛选器,这意味着更改其中一个筛选器时,此结构中的“filterText”属性将发生更改:
name: [NAME_VALUE]; target: [TARGET_VALUE];
问题在于最后一个。我想让它按低于或高于过滤
大概是这样的:
name: [NAME_VALUE]; target: [TARGET_VALUE]; reach: >[REACH_VALUE]
所以我想我应该创建我的自定义过滤函数并将“useExternalFilter”设置为true
我为此搜索了2天,但没有找到完整答案:
如何获取对行的引用以进行筛选?
当我得到这个引用时,如何使用ng网格方式将行do设置为隐藏
这就是我到目前为止所做的:
我在ng grid的源代码中看到,当“filterText”发生变化时,他们会发出“ngGridEventFilter”事件,所以我听了下面的内容:
$scope.$on( "ngGridEventFilter", function(){
$scope.checkReach( );
});
您正在覆盖网格内部过滤器逻辑,您必须自己处理它,服务器端
<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);
});
应用程序控制器('MyCtrl',函数($scope){
$scope.filterOptions={
筛选文本:“”,
useExternalFilter:true
};
$scope.gridOptions={
数据:“myData”,
filterOptions:$scope.filterOptions
};
$scope.$watch('filterOptions',函数(){
//在此处调用异步函数获取数据。
someAsyncFunction($scope.filterOptions.filterText);
},对);
});