Filtragem de Múltiplas Colunas ngGrid
Eu estou usando o módulo ngGrid para AngularJS para mostrar alguns dados paginados. Quero poder pesquisar em várias colunas, usando uma pesquisa OR.
Vamos dizer que eu tenho uma coluna com os seguintes títulos: Id, Nome, Descrição. Quando procuro, quero retornar todas as linhas em que o ID OU o nome OU a descrição contenha o termo de pesquisa.
$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
}
};
Eu tentei usar a caixa de pesquisa padrão e também usando uma caixa de entrada externa vinculada a $ scope.filterText para definir um filtro personalizado, como:
$scope.filterUpdated = function () {
$scope.gridOptions.filterOptions.filterText = 'id:' + $scope.filterText + ';name:' + $scope.filterText + ';description:' + $scope.filterText;
};
No entanto, isso parece fazer um E em todas as colunas. É possível conseguir o que eu quero usando o módulo ngGrid?
Desde já, obrigado,
Chris