2014-07-26 125 views
0

如何使用运算符“in”过滤kendo数据源? 例子:kendo ui数据源过滤器“in”

var original_data = [ 
    {"group": [1, 2], "name": "Coca Cola"}, 
    {"group": [1, 3], "name": "Pizza"} 
]; 
function filter_articles(original_data, group) { 
    return new kendo.data.DataSource({ 
     data: original_data, 
     filter: { field: 'group', operator: 'in', value: parseInt(group) } 
    }); 
} 

回答

1

的数据源过滤选项不支持此功能,所以你必须创建数据源,例如之前筛选数据像这样:

var original_data = [{ 
    "group": [1, 2], 
    "name": "Coca Cola" 
}, { 
    "group": [1, 3], 
    "name": "Pizza" 
}]; 

function filter_articles(original_data, group) { 
    var filtered = original_data.filter(function (item) { 
     return item.group.indexOf(group) !== -1; 
    }); 

    var ds = new kendo.data.DataSource({ 
     data: filtered 
    }); 
    ds.read(); 

    return ds; 
} 

var filteredDs = filter_articles(original_data, 3); 

demo