如何在角度ui网格中进行多重过滤?

时间:2015-07-20 04:11:12

标签: jquery angularjs angular-ui-grid

我需要过滤具有多个条件的列。这是我的代码:

filters : [ 
    {
        condition : uiGridConstants.filter.GREATER_THAN,
        placeholder : 'greater than'
    },{ 
        condition : uiGridConstants.filter.LESS_THAN,
        placeholder : 'less than'
    }
]

以上代码将显示"大于"和"小于"特定列的值。我需要再添加2个条件:类似于"不在大于和小于值的范围内#34;

以上是这个问题:http://plnkr.co/edit/co8tfDrn2EOyC5thrMwg?p=preview

2 个答案:

答案 0 :(得分:2)

列过滤器也可以使用函数,函数签名是

function(term,value,row,column){
}

只要此函数返回true,您的行就会显示。您的案例中的列过滤功能将是

 $scope.colFilter.condition = function(term,value, row, column){
      return (value>$scope.greater && value<$scope.less)
    }

请查看此plnkr以获取更大和更小的功能。

http://plnkr.co/edit/4HCwBdkOWGOl07XmxPKi?p=preview

答案 1 :(得分:0)

这些条件是硬编码的,还是您希望用户能够编辑的内容?您可以使用自定义过滤执行此操作,如UI-Grid文档中所示:link

通过编写自定义过滤器功能 - link