У меня есть процедура для фильтрации данных в моих сетках Kendo.
function filterData(grid, val) {
let filts = [];
let vals = val.split(/[ ,.]+/);
for (let i = 0; i < vals.length; i++) {
if (!isNaN(parseFloat(vals[i])) && isFinite(vals[i])) {
filts.push({ field: "ParamName.split(/[ ,.()]+/).join('_').replace(/^/,'_').concat('_')", operator: "contains", value: "_" + vals[i] + "_" });
}
else {
filts.push({ field: "ParamName", operator: "contains", value: vals[i] });
}
}
$("#" + grid).data("kendoGrid").dataSource.filter({ logic: 'and', filters: filts });
}
Это прекрасно работает, но фильтрация dataSource не меняет многоселочных фильтров в сетке. MultiSelects по-прежнему имеют полные значения DataSource. Я вызываю эту функцию, помещая текст в текстовое поле, поэтому каждый раз устанавливать новый источник данных слишком долго. Как я могу изменить фильтры с множественным выбором в сетке после фильтрации источника данных?