我想在UI5应用程序中显示一个带有oModel.read的条目并将其存储在变量中。
我想做的是,选择模型的单个条目并将其存储在变量中: 如果我执行我的代码,则会在浏览器控制台中得到以下内容: https://ibb.co/FmPNSPm
这是我的代码(但不起作用):
import { Component } from '@angular/core';
@Component({
selector: 'form-field-overview-example',
templateUrl: 'form-field-overview-example.html',
styleUrls: ['form-field-overview-example.css'],
})
export class FormFieldOverviewExample {
mainArray = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'];
newArray : any[] = [];
constructor() {
this.divideAndJoinArray(3);
}
divideAndJoinArray(spliceAt : number){
while (this.mainArray.length) {
var str = (this.mainArray.splice(0, spliceAt).join(''));
console.log(str)
this.newArray.push(str);
}
}
}
我认为此路径var hostPort = "";
var oDataPath = "/.../KOMMI_SERVICE/";
var sServiceUrl= hostPort + oDataPath;
var oModel = new sap.ui.model.odata.ODataModel (sServiceUrl, true);
var oJsonModel = new sap.ui.model.json.JSONModel();
var text123;
oModel.read("/Komm(ZSMATERIALTEXT ='"+text123+")",oEntry,null,false,
function(oData, oResponse){
},function(err){
console.log("err");
});
不正确。
答案 0 :(得分:1)
您可以尝试使用过滤器。例如:
var sPath = "/Komm";
var oFilter = [
new Filter("ZSMATERIALTEXT", "EQ", text123)
];
oModel.read(sPath, {
filters: oFilter,
success: function (oData, oResponse) {
// save variable
},
error: function (oError) {
// show error
}
});
答案 1 :(得分:0)
尝试一下:
我认为您缺少“” ...
oModel.read("/Komm(ZSMATERIALTEXT ='"+text123+"')",oEntry,null,false,
function(oData, oResponse){
},function(err){
console.log("err");
});
或
oModel.read("/Komm", {
filters: [
new sap.ui.model.Filter("ZSMATERIALTEXT", sap.ui.model.FilterOperator.EQ, text123)
],
success: function (oData, oResponse) {
// do some...
},
error: function (oError) {
// error
}
});