Показать сообщение отдельно
Старый 07.03.2024, 22:47   #12  
Lankey is offline
Lankey
Участник
 
54 / 13 (1) ++
Регистрация: 19.05.2020
Так, все работает, но другой глупый вопрос появился:

Этот multiselect фильтрует данные на форме. То есть, в init я на DS добавляю range и в executeQuery на этот query().datasource().range добавляю условие. Вроде. стандартный подход. Все работает. Ок

На этой форме грид, в нем колонка, и, соответственно, стандартная созможность добавить по ней фильтр.
И это та же колонка, по которой фильтрует отдельно существующий в шапке формы multiselect.

То есть, по факту, на форме две возможности фильтровать одну и ту же колонку : мой мультиселект и стандартный фильтр в шапке грида.

Теперь : Если пользователь меняет стд фильтр, то они хотят , чтобы это изменение отражалось в мультиселекте. Например, убрал один из критериев, и в мультиселекте он должен исчезнуть тоже.

Ну ок, я после super() в executeQuery отлавливаю range.value , что пользователь установил, и передаю в mymultiselect.text()

Меня озадачивает, что пользовательские фильтры накладываются на queryRun, а не query. То есть, получается, мне надо изменить мой подход для multiselect - не создавать range в init на query().datasource(), а создавать range и меня ть только на queryRun в executeQuery.
Это правильный подход?