Как программно обновить поля на странице после обновления записи в базе данных (с помощью ESQ)
Вопрос
Как программно обновить поля на странице после обновления записи в базе данных (с помощью ESQ)?
Ответ
Программно обновить значение поля можно при помощи метода this.set(‘ColumnName’, ‘NewValue’). Рекомендуем обновлять поле в функции обратного вызова с предварительной проверкой на удачность обновления в базе данных.
Пример кода:
someMethod: function(){
var value = this.get('UsrRequired');
var updateQuery = Ext.create("Terrasoft.UpdateQuery", {
rootSchemaName: "UsrRuleTest"});
var filters = updateQuery.filters;
filters.addItem(this.Terrasoft.createColumnFilterWithParameter(
this.Terrasoft.ComparisonType.EQUAL, "Id", 'IdValue’));
updateQuery.setParameterValue("UsrSomething", value, this.Terrasoft.DataValueType.TEXT);
updateQuery.execute(function(result){
if(result.success)
this.set('UsrTest0', value);
}, this);
}
Добрый день! попробовал по вашему коду сделать у себя выходит ошибка( ругается на функцию set
stack: TypeError: this.set is not a function
at https://8-crm-dev.kmf.kz/0/configuration/5e6b668831cc1cda80b5afd046dae2…-
вот мой код
updateQuery.execute(
function(result) {
if(result.success) {this.set("UsrOwner",UsrOwnerVisa);}
}
)
; }, this);