如何使用文本而不是每列 ng-grid 3.0 (ui-grid) 筛选整个表

How to filter the entire table with text instead of per column ng-grid 3.0 (ui-grid)

本文关键字:ui-grid 筛选 ng-grid 文本 何使用      更新时间:2023-09-26

我查看了文档,并没有看到在ng-grid 3中实现这一目标的简单方法。在ng-grid 2中,您可以将文本字段绑定到。

$scope.filterOptions = {
   filterText: ''
};

然后在网格选项中...

$scope.gridOptions = { 
   data: 'someData',
   filterOptions: $scope.filterOptions
};

我可以滚动自己的过滤,但我希望有一种更简单的方法可以做到这一点,但我缺少。

好吧,

所以我自己滚了。在这里。

$scope.$watch('filter.filterText', function(newVal, oldVal) {
    $scope.filteredData = $scope.data.filter(function(data) {
      if (data.fullName.toLowerCase().indexOf($scope.filter.filterText) > -1 ||
          data.someField.toLowerCase().indexOf($scope.filter.filterText) > -1 ||
          data.someOtherField.toLowerCase().indexOf($scope.filter.filterText) > -1) {
        return true;
      }
      else {
        return false;
      }
    });
}, true);

$scope.filter.filterText 绑定到输入框,并在控制器中监视。每当用户修改文本时,都会更新过滤的数据。ui 网格使用 filteredData 作为其数据源。简短而甜蜜,但我确实怀念 2.0 中的旧功能。