#javascript #jquery #kendo-ui #kendo-grid #kendo-multiselect
#javascript #jquery #kendo-ui #kendo-grid #kendo-multiselect
Вопрос:
Я пытаюсь создать фильтр с несколькими флажками в столбце сетки kendo, для которого serversidefiltering установлено значение true. В фильтре с несколькими флажками я хочу присвоить выбору по умолчанию некоторое значение. Я пытаюсь реализовать эти 2 сценария, приведенные ниже:
1) Я бы все равно хотел, чтобы фильтр с несколькими выборками показывал мне все значения для этого поля и проверял только выборки по умолчанию.
2) Кроме того, отфильтруйте данные в столбце сетки до флажка, установленного в фильтре с несколькими флажками.
Я попробовал следующее, и я в основном приближаюсь к достижению либо 1), либо 2). Но я пытаюсь заставить их обоих работать вместе.
Вот ссылка на демонстрацию для 1)
С учетом вышесказанного я мог бы установить только флажок по умолчанию, но данные сетки при загрузке не отображают отфильтрованные данные, они показывают все.
Для 2) я попробовал следующее
Filter: [{
field: "ProductName", operator: "eq", value: "Chai"
}],
Приведенный выше код правильно фильтрует данные в сетке, но для фильтра меню список флажков также сужен, чтобы содержать только список отфильтрованных элементов, отправленных сервером. (ищу решение для сужения данных в сетке, но показывать все параметры в фильтре флажков).
Есть ли способ, которым я мог бы совместить оба этих требования в фильтре с несколькими флажками с фильтрацией на стороне сервера?
Любая идея по решению этой проблемы высоко ценится.
Заранее благодарю вас!
Комментарии:
1. вы уже пробовали filterMenuInit ?
2. Да, вот что я пробовал, это не фильтрует данные в сетке.
3. Возможно, вы можете сделать это, отправив также вручную. Вы можете изменить это в соответствии с вашим вопросом, посмотрите здесь
Ответ №1:
Когда включена подкачка сетки на сервере, источник данных должен быть предоставлен для всех фильтруемых виджетов с несколькими проверками. Это означает, что вам нужно будет реализовать метод на вашем сервере, который вернет список элементов, которые будут отображаться в фильтре.
columns: [
{
field: "FirstName",
filterable: {
multi: true,
//when serverPaging of the Grid is enabled, dataSource should be provided for all the Filterable Multi Check widgets
dataSource: {
transport: {
read: {
url: telerikWebServiceBase "Employees/Unique",
dataType: "jsonp",
data: {
field: "FirstName"
}
}
}
}
},
},
Вот рабочая демонстрация.
Вот ссылка на демо-версию Telerik.