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