Как программно сделать редактируемое поле недоступным для редактирования

Уважаемые форумчане.
Есть задача: по определенному условию сделать редактируемое поле нередактируемым и наоборот. Проще говоря, чтобы замок появился на нем. Знаю, что есть свойство "enabled", ему нужно присвоить false. Как это сделать программно?

Заранее благодарен

Нравится

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

В самом простом случае, Вы скорее всего хотите бизнес правило блокировки:
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, при изменении другого поля, сделать его недоступным?

Артём, это довольно старая переписка. С тех пор уже можно пользовательскими средствами настроить видимость/доступность/обязательность поля при помощи бизнес-правил.

gif_chapter_business_rules_if_condition_setup.gif

gif_chapter_business_rules_then_condition_setup.gif

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