Я успешно настроил панель сетки с помощью плагина FiltersFeature.js. Я могу видеть параметры фильтра в пункте меню заголовка моего столбца. Я использую строки, списки и типы диапазонов дат и фильтрую только локально, а не удаленно.
Поведение работает как ожидалось. Например, у меня есть столбец «Статус» с настроенным фильтром (через конфигурацию, а не столбец):
filters: [{
type: 'list',
dataIndex: 'status',
options: ['New', 'Waiting', 'Reopened','Working']
}]
, который правильно отображает список флажков для каждого элемента свойства параметров. Когда я выбираю «Новое» И «Работающий» из списка, сетка фильтруется, чтобы показать записи, соответствующие статусу «Новый» ИЛИ «Работающий».
Теперь, когда я программно добавляю фильтры, используя что-то вроде:
tasksGrid.filters.addFilters([{type: 'string', dataIndex: 'status', value: 'New'}]);
tasksGrid.store.load();
Работает, чтобы отфильтровать все записи в сетке до соответствующего статуса «Новый».
Проблема в том, что я не могу понять, как добавить несколько параметров в метод addFilters, чтобы получить такое же встроенное поведение поиска «ИЛИ», а не поиска «И».
При использовании выбора в меню заголовка и применении нескольких фильтров к одному столбцу, я могу видеть filterData с помощью метода getFilterData ():
[Object
data: Object
type: "list"
value: Array[2]
0: "New"
1: "Waiting"
length: 2
__proto__: Array[0]
__proto__: Object
field: "status"
__proto__: Object
Где значение установлено как массив из 2 значений. Однако, когда я пытаюсь сделать что-то вроде:
tasksGrid.filters.addFilters([{type: 'string', dataIndex: 'status', value: ['New','Waiting']}]);
Я получаю следующий результат для filterData:
[Object
data: Object
type: "string"
value: "New,Waiting"
__proto__: Object
field: "status"
__proto__: Object
Я решил, что это объединяет значения, потому что я использовал тип строки, поэтому я попробовал тип 'list', который определен в конфигурации фильтра, и я получаю следующую ошибку:
Uncaught TypeError: Невозможно вызвать метод 'on' из неопределенного ... ListMenu.js: 83
Любая помощь будет принята с благодарностью!
Спасибо
Сет