我正在编写一个消耗给定OData服务的UI5应用程序。现在我想获取具有给定帐号的帐户的名称并在表格中显示它。因为我只能通过/ AccountInfoSet()/ ShortText访问帐户名称,所以我尝试使用格式化程序功能来映射帐号。
在视图中绑定:
Controller中的Formatter函数:
numToNameFormatter : function(sNum){
var text = this.getView().getModel().read("/AccountInfoSet('" + sNum + "')", null, null, true,
function(oData, oResponse){
return JSON.stringify(oData);
},
function(){
alert("Read failed");
});
return text;
}
这应该将请求的对象作为字符串返回。我通过警报验证了数据的成功请求。问题是,我无法从回调中获取数据,因为它是异步的。我如何获取数据。
提前致谢!
答案 0 :(得分:0)
不确定您的数据模型是否设置如此,但是展开您的表格集是否也可以加载相关的AccountInfoSet
?
我的意思是,如果您的表格中包含Accounts
数组,并且每个Account
条目都有相关的AccountInfo
,那么您可以使用以下内容填充表格:
http://your.service/Accounts/?$expand=AccountInfo
然后直接绑定表中的字段,而不使用格式化程序:
<TextField value="{AccountInfo/0/ShortText}">