Подписаться на событие изменения динамического поля

В базовой Realty версии BPMOnline в модуле Объекты происходит динамическая генерация полей модуля в карточке редактирования в зависимости от Категории объекта. Создан специальный справочник для создания зависимости между полями и категорией.
В связи с этим вопрос, как подписаться на событие изменения одного из полей.
К примеру только для категории офисы у нас на карточку динамически добавляются поля
"количество комнат". Нужно как то подписаться на событие данного поля.
Пытался сделать так на PageLoadComplete

var ControlName = GetByNameControlOnAdditionalTab("ControlName");
ControlName.AjaxEvents.Change.Event += ControlNameEditChange;

Но при компиляции ошибка что тип Terrasoft.UI.WebControls.Controls.BaseEdit не содержит метода AjaxEvents

Нравится

2 комментария

Здравствуйте, Эмин!
Свойства AjaxEvents действительно нет в классе BaseEdit, оно появляется в наследниках, например, TextEdit, потому что набор событий отличается для различных контролов.
Вашу задачу можно решить проще, сразу добавив все необходимые контролы и обработчики событий базовыми средствами, но сделать их невидимыми, а при загрузке страницы просто отображать нужные с помощью свойства "Hidden".

"Андрей Каспаревич" написал:

Здравствуйте, Эмин!

Свойства AjaxEvents действительно нет в классе BaseEdit, оно появляется в наследниках, например, TextEdit, потому что набор событий отличается для различных контролов.

Вашу задачу можно решить проще, сразу добавив все необходимые контролы и обработчики событий базовыми средствами, но сделать их невидимыми, а при загрузке страницы просто отображать нужные с помощью свойства "Hidden".

С уважением,

Каспаревич Андрей

Эксперт 3-й линии поддержки


Андрей ,спасибо за ответ. Я знаю, что можно скрывать и показывать поля в зависимости от значения поля Категория. Наверное так и реализую.
Просто динамическое добавление полей уже реализовано в базовой версии BPM и мне показалось, что раз существует базовый способ менять наборы полей, то и обработчик для динамического контрола добавить тоже можно.

Показать все комментарии