Как я могу выполнить порядок функций, когда функция обновления работает с xsodata ?! До сих пор моя проблема заключается в обновлении таблицы деревьев, а затем открытии предыдущих строк, которые были открыты до обновления. Я использую функцию setTimeout, но я знаю, что на самом деле это не ответ на эту проблему.Функция триггера после завершения обновления
tEvents.unbindAggregation("rows");
tEvents.bindAggregation("rows",{
path: "events>/prg_years(ID_SCENARIO=" + filterKRVR.scenario + ",I_YEAR=" + filterKRVR.year + "m)" + "/HisGTO",
parameters: {
navigation: {
'prg_gto': "HisPIPE",
'prg_pipe': "HisKS",
'prg_ks': "HisLK"
},
}
});
tEvents.getModel('events').refresh();
if(bookmark.gto!==null){
var that = this;
setTimeout(function(){
var t = that.getView().byId('eventsKRVR');
t.expand(bookmark.gto);
},800)
}
if(bookmark.pipe!==null){
var that = this;
setTimeout(function(){
var t = that.getView().byId('eventsKRVR');
t.expand(bookmark.pipe);
},1500)
}
if(bookmark.ks!==null){
var that = this;
setTimeout(function(){
var t = that.getView().byId('eventsKRVR');
t.expand(bookmark.ks);
},2500)
}
любые предложения ?!
благодарит всех вас за помощь!
Вы пытаетесь прикрепить обработчик событий на модели с использованием '' 'attachRequestCompleted (callbackFn)' ''? Обязательно присоедините обработчик только один раз. – newBee
@newBee да, я попытался подключиться к завершению, не помог ... –
В своем вопросе вы говорите «до ** обновления **» и рассказываете о службе odata, но в вашем коде вы используете '' 'refresh'' ', который используется для предварительного обновления элементов управления пользовательского интерфейса. Вы действительно хотите обновить привязки или вызвать бэкэнд-вызов и фактически изменить содержимое модели? – newBee