【问题标题】:ngGrid How can I create filters on multiple columns like Excel Data Filter?ngGrid 如何在 Excel 数据过滤器等多列上创建过滤器?
【发布时间】:2014-11-09 10:24:42
【问题描述】:

我们正在使用 ngGrid。我想知道是否有办法像在 Excel 中一样创建多列过滤器?

一直在网上搜索,但我能找到的大多数是有一个用于过滤所有列的文本框过滤器(虽然一次只有一个)。

任何帮助将不胜感激。

谢谢!

【问题讨论】:

    标签: angularjs filtering ng-grid multiple-columns


    【解决方案1】:

    不妨试试 filterBar 插件。

    var filterBarPlugin = {
        init: function(scope, grid) {
            filterBarPlugin.scope = scope;
            filterBarPlugin.grid = grid;
            $scope.$watch(function() {
                var searchQuery = "";
                angular.forEach(filterBarPlugin.scope.columns, function(col) {
                    if (col.visible && col.filterText) {
                        var filterText = col.filterText +'; ';
                        searchQuery += col.displayName + ": " + filterText;
                    }
                });
                return searchQuery;
            }, function(searchQuery) {
                filterBarPlugin.scope.$parent.filterText = searchQuery;
                filterBarPlugin.grid.searchProvider.evalFilter();
            });
        },
        scope: undefined,
        grid: undefined,
    };
    

    这里有一个Plunker 来展示它的实际效果。

    这个插件不是我写的,我不记得我在哪里找到的。我只是在这个Question 中使用它。 (见评论)

    【讨论】:

      猜你喜欢
      • 2013-05-26
      • 1970-01-01
      • 2011-11-23
      • 1970-01-01
      • 2016-04-03
      • 2017-01-12
      • 1970-01-01
      • 2014-01-12
      • 2020-05-04
      相关资源
      最近更新 更多