AngularJS ui-grid 3.x按输入框过滤

时间:2015-02-18 14:13:57

标签: angularjs angular-ui-grid

即时通讯使用ui-grid并有一个输入框。 我想将输入框绑定为网格中的列的过滤器。我不想在ui-grid中使用buildin文本框。

任何人都可以帮忙吗?

2 个答案:

答案 0 :(得分:2)

    gridOption.columnDefs
  1. ,设置您要过滤的列,例如:{ field: 'gender', enableFiltering: false }以禁用内联过滤器
  2. 使用gridApi
  3. 获取网格状态
  4. 在state.columns中找到您的列,并将过滤器添加到其中。
  5. 恢复网格状态,即将过滤器应用于网格 我让你成了一个笨蛋。 http://plnkr.co/edit/p878r7GsFig1goX5rroK?p=preview

答案 1 :(得分:0)

当我寻找同样的东西时,sunz7的回答帮助了我,但是,你可以改进它,因为在这种状态下,sunz7提供的plunker不允许改变搜索。单击该按钮将在上一次搜索中触发搜索。

作为奖励,只需更改

,空的搜索字段就会删除过滤器
$scope.state.columns[1].filters.push({term: $scope.genderFilter});

通过

$scope.state.columns[1].filters[0] = {term: $scope.genderFilter || '*'};

http://plnkr.co/edit/HN9kc9IbHdi9YH4OBUS7?p=preview

这个plunker的叉子解决了这个问题。