我正在使用odata模型来读取数据。但它不起作用。检查下面的代码。
getGuid: function(pernr){
var self = this;
var url = "/PersonalDetailSet?$filter=Pernr eq '00000001'";
self.setBusy(true);
this.oModel.read(url, {
success: function(res){
self.setBusy(false);
self.guid = res.results[0].Guid;
},
error: function() {
self.setBusy(false);
}
});
}
我不知道为什么网址中的过滤器现在无法正常工作?
答案 0 :(得分:1)
myODataModel.read("/PersonalDetailSet"/*no queries here!*/, {
filters:[
new Filter({ // required from "sap/ui/model/Filter"
path: "myField",
operator: FilterOperator.EQ, // required from "sap/ui/model/FilterOperator"
value1: "..."
})
],
// ...
});
答案 1 :(得分:0)
如果要在读取功能中应用其他URL参数,则必须通过“urlParameters”参数执行此操作:
getGuid: function(pernr){
var self = this;
var url = "/PersonalDetailSet";
self.setBusy(true);
this.oModel.read(url, {
urlParameters: {
"$filter" : "Pernr eq '00000001'"
},
success: function(res){
self.setBusy(false);
self.guid = res.results[0].Guid;
},
error: function() {
self.setBusy(false);
}
});
}
答案 2 :(得分:0)
首先,检查您是否在范围内获得模型。我可以看到 this.oModel ,这不是获取模型的正确方法。最好使用 this.getModel()或 this.getView()。getModel(),然后检查调用。传递过滤器不是正确的方法,但它仍然可以工作。