Как программно сделать редактируемое поле недоступным для редактирования
Уважаемые форумчане.
Есть задача: по определенному условию сделать редактируемое поле нередактируемым и наоборот. Проще говоря, чтобы замок появился на нем. Знаю, что есть свойство "enabled", ему нужно присвоить false. Как это сделать программно?
Заранее благодарен
Нравится
В самом простом случае, Вы скорее всего хотите бизнес правило блокировки:
https://academy.terrasoft.ru/documents/technic-sdk/7-8/pravilo-bindpara…
Если хочется именно по коду, в методах, то привяжите данное свойство контрола к атрибуту:
В секции атрибутов:
"SynchronizeWithLDAP": { dataValueType: this.Terrasoft.DataValueType.BOOLEAN, value: true },
В дифе:
{ "operation": "insert", "name": "foo", "values": { "layout": { "column": 0, "row": 1, "colSpan": 14 }, "bindTo": "foo", "enabled": {"bindTo": "SynchronizeWithLDAP"} }, "parentName": "bar", "propertyName": "items", "index": 1 },
А потом по коду:
Доступно:
this.set("SynchronizeWithLDAP", true);
Недоступно:
this.set("SynchronizeWithLDAP", false);
Подобных примеров в базовой конфигурации очень много.
Мотков Илья,
Здравствуйте, хотел бы узнать, как вначале поле сделать доступным, а потом через dependencies, при изменении другого поля, сделать его недоступным?
Артём, это довольно старая переписка. С тех пор уже можно пользовательскими средствами настроить видимость/доступность/обязательность поля при помощи бизнес-правил.