代码之家  ›  专栏  ›  技术社区  ›  Ulfius

Kendo UI数据源“包含”过滤器不工作

  •  1
  • Ulfius  · 技术社区  · 11 年前

    我似乎无法在多选择数据源中使用“包含”筛选器运算符进行筛选。我正在使用AngularJS,为了提供一个示例,我在Telerik演示网站上修改了MultiSelect示例。即使我指定了“contains”,它还是使用“starts with”进行过滤:

    angular.module("KendoDemos", ["kendo.directives"]);
    
    function MyCtrl($scope) {
        $scope.selectOptions = {
            placeholder: "Select products...",
            dataTextField: "ProductName",
            dataValueField: "ProductID",
            autoBind: false,
            dataSource: {
                type: "odata",
                serverFiltering: false,
                filter: {
                    field: "ProductName",
                    operator: "contains"
                },
                transport: {
                    read: {
                        url: "http://demos.telerik.com/kendo-ui/service/Northwind.svc/Products",
                    }
                }
            }
        };
        $scope.selectedIds = [4, 7];
    }
    

    演示: http://jsbin.com/riwavomeleza/1/edit

    1 回复  |  直到 11 年前
        1
  •  1
  •   Lars Höppner    11 年前

    您希望指定小部件的过滤行为,而不是数据源过滤器,因此需要使用 filter 多选小部件的选项:

    angular.module("KendoDemos", ["kendo.directives"]);
    
    function MyCtrl($scope) {
        $scope.selectOptions = {
            placeholder: "Select products...",
            dataTextField: "ProductName",
            dataValueField: "ProductID",
            autoBind: false,
            filter: "contains",
            dataSource: {
                type: "odata",
                serverFiltering: false,
                transport: {
                    read: {
                        url: "...",
                    }
                }
            }
        };
        $scope.selectedIds = [4, 7];
    }
    
    推荐文章