В базовой Realty версии BPMOnline в модуле Объекты происходит динамическая генерация полей модуля в карточке редактирования в зависимости от Категории объекта. Создан специальный справочник для создания зависимости между полями и категорией.
В связи с этим вопрос, как подписаться на событие изменения одного из полей.
К примеру только для категории офисы у нас на карточку динамически добавляются поля
"количество комнат". Нужно как то подписаться на событие данного поля.
Пытался сделать так на PageLoadComplete
ControlName.AjaxEvents.Change.Event += ControlNameEditChange;
Но при компиляции ошибка что тип Terrasoft.UI.WebControls.Controls.BaseEdit не содержит метода AjaxEvents
Нравится
Здравствуйте, Эмин!
Свойства AjaxEvents действительно нет в классе BaseEdit, оно появляется в наследниках, например, TextEdit, потому что набор событий отличается для различных контролов.
Вашу задачу можно решить проще, сразу добавив все необходимые контролы и обработчики событий базовыми средствами, но сделать их невидимыми, а при загрузке страницы просто отображать нужные с помощью свойства "Hidden".
"Андрей Каспаревич" написал:Здравствуйте, Эмин!
Свойства AjaxEvents действительно нет в классе BaseEdit, оно появляется в наследниках, например, TextEdit, потому что набор событий отличается для различных контролов.
Вашу задачу можно решить проще, сразу добавив все необходимые контролы и обработчики событий базовыми средствами, но сделать их невидимыми, а при загрузке страницы просто отображать нужные с помощью свойства "Hidden".С уважением,
Каспаревич Андрей
Эксперт 3-й линии поддержки
Андрей ,спасибо за ответ. Я знаю, что можно скрывать и показывать поля в зависимости от значения поля Категория. Наверное так и реализую.
Просто динамическое добавление полей уже реализовано в базовой версии BPM и мне показалось, что раз существует базовый способ менять наборы полей, то и обработчик для динамического контрола добавить тоже можно.