【发布时间】:2014-11-09 10:24:42
【问题描述】:
我们正在使用 ngGrid。我想知道是否有办法像在 Excel 中一样创建多列过滤器?
一直在网上搜索,但我能找到的大多数是有一个用于过滤所有列的文本框过滤器(虽然一次只有一个)。
任何帮助将不胜感激。
谢谢!
【问题讨论】:
标签: angularjs filtering ng-grid multiple-columns
我们正在使用 ngGrid。我想知道是否有办法像在 Excel 中一样创建多列过滤器?
一直在网上搜索,但我能找到的大多数是有一个用于过滤所有列的文本框过滤器(虽然一次只有一个)。
任何帮助将不胜感激。
谢谢!
【问题讨论】:
标签: angularjs filtering ng-grid multiple-columns
不妨试试 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 中使用它。 (见评论)
【讨论】: