Для фильтрации по текстовому полю вы можете подключить событие keyUp
, чтобы получить значение.Затем вы можете добавить это как фильтр к существующему объекту filter
.
$('#NameOfInput').keyup(function () {
var val = $('#NameOfInput').val();
var grid = $("#yourGrid").data("kendoGrid");
var filter = grid.dataSource.filter();
filter.filters.push({
field: "NameOfFieldYouWishToFilter",
operator: "eq",
value: val,
FilterName: "UniqueIdentifierForFilter"
});
grid.dataSource.filter(filters);
});
Используя раскрывающийся список, вы можете достичь желаемой функциональности с помощью события onChange
, получить значение с помощью $('#yourDropDown').val();
.
FilterName
- это дополнительный случайвам требуется дополнительная логика для добавления / удаления фильтров.то есть вы можете использовать это, чтобы определить, существует ли фильтр в массиве, и если это так, вы можете использовать splice
, чтобы удалить его.
РЕДАКТИРОВАТЬ
Используя FilterName
, вы можете найти, существует ли фильтр, и удалить его:
var filterIndex = filter.filters.map((e: any) => { return e.FilterName }).indexOf("UniqueIdentifierForFilter");
if (filterIndex > -1)
{
filter.filters.splice(filterIndex, 1);
}