How can i filter kendo datasource with operator "in"? Example:
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) }
});
}
The DataSource filter option doesn't support this, so you'll have to filter the data before creating the data source, e.g. like this:
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)