【发布时间】:2016-02-04 10:14:19
【问题描述】:
当更新功能与 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 是的,我试图完整地附加,没有帮助...
-
在您的问题中,您说“在 update 之前”并谈论 odata 服务,但在您的代码中,您使用
refresh方法,该方法用于更新用户界面控件。您真的只想刷新绑定或触发后端调用并实际更改模型内容吗?
标签: javascript sapui5 treetable