7.x
методы
Технические вопросы

название поля/атрибута в методе на изменение

Можно ли в методе, который вызывается при изменении поля/атрибута, получать название поля/атрибута, которое поменялось, для того, чтобы забиндить несколько полей на один метод. Для случаев, когда важно какое именно поле поменялось - например, для сложных пересчетов сумм. На данный момент приходится на каждое поле биндить свой метод, в которых вызывается один и тот же.

Нравится

5 комментариев

Может быть тогда привязывать изменение на самого себя?

[javascript]
"SmrOwner": {
dataValueType: Terrasoft.DataValueType.LOOKUP,
dependencies: [
{
columns: ["SmrOwner"],
methodName: "changeOwnerInformation"
}
]
}
[/javascript]

А вот уже внутри метода присваивать все необходимые поля.

я так и делаю, неудобно писать 10 методов, которые вызывают один и тот же

В метод приходят аргументы, среди которых есть и название измененного атрибута, но я не помню, какой он по счету. Точно могу только сказать, что первый аргумент - это новое значение.
Сделайте точку останова внутри метода и посмотрите значение объекта "arguments", будте понятно.

Действительно)

[javascript]
arguments[1]
[/javascript]

ага, спасибо) всего два аргумента (первый пока что всегда undefined, второй - название поля)

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