将变量赋值给kendo ui filter

时间:2018-03-07 16:21:52

标签: kendo-ui

我无法将变量分配给数据源过滤器。我错过了什么?

var selectVal =“Test”;

    var wcDataSource = new kendo.data.DataSource({
        transport : { read : function(data) {
            $http.get(restUrls.GET_OPR
                    .replace('?', '100')
                    .replace('?', '251')
                    .replace('?', '211'))
            .then(function(response) {  
                data.success(response.data.workCenter); 
                console.log("selected value:  "+selectVal); //outputs 'Test'
            }, function(error) {
                swal("Error!", "Error while fetching!", "error");
            });
            }
        },
        filter: {
            filters: [
                {field: "cc", operator: "eq", value: selectVal} // selectVal doesn't read here
            ]
        }
    });

请有人告诉我,我在这里错过了什么。感谢。

1 个答案:

答案 0 :(得分:0)

如果您想接收必须启用的过滤器 serverFiltering:数据源选项中为true。

这将为您提供options.data属性中的过滤器:)

  var dataSource = kendo.data.DataSource.create({
        transport: {
            read: function(options) {
                $.ajax({
                    type: 'POST',
                    contentType: 'application/json',
                    dataType: 'json',
                    url: '/read',
                    data: options.data,
                    success: function(result) {
                        options.success(result);
                    },
                    error: function(xhr) {
                        // do what you want.
                    }
                });
            }
        },
        serverFiltering: true, //<-- important
        filter: {
            filters: [{
                operator: 'eq',
                field: 'Name',
                value: 'David'
            }]
        }
    });

    dataSource.read();