我正在使用 AngularJS 的 ngGrid 模块来显示一些分页数据。我希望能够跨多个列进行搜索,但是使用 OR 搜索。
假设我有一列包含以下标题:ID、名称、描述。当我搜索时,我想返回 Id OR name OR description 包含搜索词的所有行。
$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
}
};
我尝试使用默认搜索框,并使用绑定到 $scope.filterText 的外部输入框来定义自定义过滤器,例如:
$scope.filterUpdated = function () {
$scope.gridOptions.filterOptions.filterText = 'id:' + $scope.filterText + ';name:' + $scope.filterText + ';description:' + $scope.filterText;
};
但是,这似乎对所有列进行了 AND。使用 ngGrid 模块可以实现我想要的吗?
提前致谢,
克里斯