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

AngularJS ui-grid 3.x filter by inputbox

我使用 ui-grid 并有一个输入框。 我想将输入框作为过滤器绑定到网格中的列。我不想在 ui-grid.

中使用 buildin 文本框

有人能帮忙吗?

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

由于我正在寻找同类的东西,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 的这个分支解决了这个问题。