ngGrid Как я могу создать фильтры для нескольких столбцов, таких как Excel Data Filter?

Мы используем ngGrid. Я хотел знать, есть ли способ создать фильтр нескольких столбцов, как в Excel?

Я искал в сети, но больше всего я мог найти фильтр с одним текстовым полем для фильтрации всех столбцов (хотя только по одному за раз).

Любая помощь будет оценена.

Спасибо!

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, чтобы показать это в действии.

Этот плагин не был написан мной, и я не помню, где я его нашел. Я просто использовал это в этом вопросе. (см. комментарий)

Другие вопросы по тегам