Używam modułu ngGrid dla AngularJS do wyświetlania niektórych stronicowanych danych. Chcę mieć możliwość wyszukiwania w wielu kolumnach, ale za pomocą wyszukiwania OR.Filtrowanie wielu kolumn ngGrid
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 zawierają wyszukiwane hasło.
$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 przy użyciu domyślnego pola wyszukiwania, a także za pomocą zewnętrznego pola wprowadzania związany $ scope.filterText zdefiniować niestandardowy filtr, takich jak:
$scope.filterUpdated = function() {
$scope.gridOptions.filterOptions.filterText = 'id:' + $scope.filterText + ';name:' + $scope.filterText + ';description:' + $scope.filterText;
};
Jednak wydaje się to zrobić AND na wszystkich kolumnach. Czy można osiągnąć to, czego chcę, używając modułu ngGrid?
Dzięki z góry,
Chris
Jestem nowy w AngularJS, ale przeszedłem przez wszystkie vidoes przez johnlindquist/eggheadio/www.egghead.io i myślę, że to [ngfilter] (http://www.egghead.io/video/bLohP9mh8ks) wideo odpowiedzieć pytanie. Zaczyna wyjaśniać, jak możesz użyć innego filtra wyszukiwania około 3:00; rozpoczęto od wyszukiwania we wszystkich kolumnach, a następnie przechodzenia do określonych kolumn. – Pixic
Być może ta dyskusja ci pomoże. [filtr siatki siatki na kolumnę] (https://groups.google.com/forum/#!topic/angular/aC24cVln4Vw) – darwinbaisa
Tak, możesz zaimplementować filtrowanie w kolumnach za pomocą opcji filtrowania wewnętrznego w konfiguracji siatki . Wezmę do tego plunarza z odpowiedzią – orif