You can’t define collection of options for each column, it can be defined only for all cells in the column
If you need to show different options in the editor, you can use onAfterEditStart API to catch the moment when the editor is visible and update a content of the editor from this event handler.
Но есть один нюанс. Если изначально инициировать опции как массив [“option1”, “optinon1”] объект коллекции this.getColumnConfig(id.column).collection не создается! Соответсвенно методы clearAll() и parse() недоступны.
Коллекция представляет собой независимое хранилище данных для конкретного столбца, в котором содержатся элементы с id/value.
Поэтому в массиве следует указать id и value и тогда всё сработает https://snippet.webix.com/92fcr2a5
Как вариант, можно не использовать clearAll и parse, а сделать немного иначе:
нужно для каждой строки свой набор опций… Но есть один нюанс, фильтр работает как like т.е. Если мы фильтруем по группе <2> то в результат попадают элементы которые находится в группе 12 и 2 или 25, как сделать жесткий фильтр???
Уже нашел решение… сразу не понял…
list.filter(function(itemObj){
return true; //false;
})
т.е. в моем случае это выглядит так …
this.getEditor().getPopup().getList().filter(
function(itemObj){
if(itemObj.group == row[‘type’]) return true;
else return false;
}
) ;
может кто сразу тоже не доедет)))
Не могу добиться чтобы опции для richselect обновлялись сразу.
Вот такая функция срабатывает на beforeeditstart, но с первого раза при клике на ячейку таблицы показывает пустой список. Если закрыть его и кликнуть второй раз - показывает заполненный список.
Получилось, но не совсем.
На этапе beforeeditstart редактора нет и table.getEditor() возвращает undefined.
На этапе aftereditstart редактор уже есть - появляется пустой richselect на мгновение, и чувствуется задержка вызванная загрузкой. После загрузки он заполняется.
Указал, не сильно помогло, но в целом полагаю сойдет и так.
В любом случае мигает пустой список, поскольку перед загрузкой мне приходится его очищать: editor.getPopup().getList().clearAll(), иначе свежие варианты не подгружаются.