Filtrowanie wielu kolumn ngGrid

Używam modułu ngGrid dla AngularJS, aby wyświetlić niektóre dane stronicowane. Chcę móc wyszukiwać w wielu kolumnach, jednak używając wyszukiwania OR.

Powiedzmy, że mam kolumnę z następującymi nagłówkami: Id, Nazwa, Opis. Podczas wyszukiwania chcę zwrócić wszystkie wiersze, w których identyfikator LUB nazwa LUB opis zawiera wyszukiwany termin.

    $scope.pagingOptions = {
        pageSizes: [20, 50, 100],
        pageSize: 20,
        totalServerItems: 0,
        currentPage: 1
    };

    $scope.gridOptions =
        {
            data: 'myData',
            columnDefs: [
                { field: 'id', displayName: 'Id' },
                { field: 'name', displayName: 'Name' },
                { field: 'description', displayName: 'Description' },
                { displayName: 'Actions', cellTemplate: '<input type="button" data-ng-click="doSomething(row.entity)" value="Do Something" />'}],
            enablePaging: true,
            showFooter: true,
            showFilter: true,
            pagingOptions: $scope.pagingOptions,
            filterOptions: {
                filterText: "",
                useExternalFilter: false
            }
        };

Próbowałem użyć domyślnego pola wyszukiwania, a także użyć zewnętrznego pola wejściowego związanego z $ scope.filterText, aby zdefiniować filtr niestandardowy, taki jak:

$scope.filterUpdated = function () {
    $scope.gridOptions.filterOptions.filterText = 'id:' + $scope.filterText + ';name:' + $scope.filterText + ';description:' + $scope.filterText;
};

Jednak wydaje się, że to robi operację AND na wszystkich kolumnach. Czy możliwe jest osiągnięcie tego, czego chcę, za pomocą modułu ngGrid?

Z góry dziękuję,

Chris

questionAnswers(1)

yourAnswerToTheQuestion