2

私はドキュメントを見て、ng-grid 3 でこれを達成する簡単な方法がわかりませんでした。ng-grid 2 では、テキスト フィールドを

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

そしてgridOptionsで...

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

独自のフィルタリングを行うこともできますが、これを行うためのより簡単な方法が欠けていることを願っています。

4

1 に答える 1

2

よし、自分で巻いた。ここにあります。

$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 は入力ボックスにバインドされ、コントローラーで監視されます。ユーザーがテキストを変更するたびに、filteredData が更新されます。ui-grid は、filteredData をデータ ソースとして使用します。短くて甘いですが、2.0 の古い機能が恋しいです。

于 2014-11-12T18:23:24.807 に答える