Иногда может понадобиться показывать не все данные из сущности, а уже заранее отфильтрованные, для это существует функция
setCallbackApplyFilter
она принимает два параметра
1. $arFilter
этот параметр будет передан в вызов метода getList сущности
2. $arFilterValues
здесь хранятся данные полученные из формы фильтра
рассмотрим пример на основе сущности инфоблока \
Bitrix\Iblock\ElementTable
здесь добавились новые параметры
FILTER_HEADER
сюда можно передать как строку так и функцию обратного вызова,
в функцию передается объект
CAdminFilter сама функция при необходимости должна вывести в поток HTML данные для формы фильтра.
данная функция нужна для передачи дополнительных параметров при нажатие "Изменить" в контекстном меню или по двойному клику в списке, происходит переход на форму редактирования.
данная функция устанавливает какие поля будут выбраны из сущности,
здесь устанавливается фильтр элементов по инфоблоку.
Примечание, если попробовать изменить в списке любой элемент мы получим ошибку.
сущность
\Bitrix\Iblock\ElementTable не дает нам изменять или добавлять,
для этого в
DevBx\Core\Admin\AdminList есть метод
setUpdateFunction