Источник данных Kendo-UI содержит фильтр, который не работает

Кажется, я не могу заставить фильтрацию работать с оператором фильтра «содержит» в источнике данных с множественным выбором. Я использую AngularJS и в качестве примера я изменил пример MultiSelect на демонстрационном сайте Telerik. Он фильтрует с «начинается с», хотя я указал «содержит»:

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


person Ulfius    schedule 11.08.2014    source источник


Ответы (1)


Вы хотите указать поведение фильтрации виджета, а не фильтры источника данных, поэтому вам нужно использовать параметр 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];
}
person Lars Höppner    schedule 12.08.2014