【发布时间】:2020-08-25 16:49:26
【问题描述】:
我需要用多个过滤项过滤odata服务并将结果集绑定到表。整个操作将在单击搜索按钮时发生。下面是我的 Onsearch 事件代码,它在读取函数中失败并且没有返回结果并且无法将其绑定到表。有人可以请我帮忙吗?
控制器代码
onFinalFilter: function (oEvent) {
debugger;
var oPlant = this.getView().byId("plant").getValue();
var oName1 = this.getView().byId("name1").getValue();
var oName2 = this.getView().byId("name2").getValue();
var oState = this.getView().byId("State").getValue();
var oCity = this.getView().byId("city").getValue();
var oZip = this.getView().byId("zip").getValue();
var oCompanyCode = this.getView().byId("companyCode").getValue();
var p = new Filter("WERKS", FilterOperator.EQ, oPlant);
var n1 = new Filter("NAME1", FilterOperator.EQ, oName1);
var n2 = new Filter("NAME2", FilterOperator.EQ, oName2);
var s = new Filter("STATE", FilterOperator.EQ, oState);
var c = new Filter("CITY", FilterOperator.EQ, oCity);
var cc = new Filter("BUKRS", FilterOperator.EQ, oCompanyCode);
var zip = new Filter("PSTCODE", FilterOperator.EQ, oZip);
var finalFilter = new Filter({filters:[p,n1,n2,c,s,zip,cc], and:true});
var oModel = new sap.ui.model.odata.v2.ODataModel("/sap/opu/odata/sap/ZSM_PLANTSRCH_SRV/"); sap.ui.getCore().setModel(oModel);
var oModel2 = new sap.ui.model.json.JSONModel();
oModel.read("/PLANTSRCHSet", {
filters: finalFilter,
success: function (oData, oResponse)
{ var data = oData; oModel2.setData(data); this.getView().byId("table1").setModel(oModel2, "key2"); },
error: function (oError) { //alert("error"); } });
}
查看
控制台日志
过滤栏片段
【问题讨论】:
-
你已经尝试过什么,你在哪里卡住了?该问题没有显示任何研究工作,但听起来更像是“给我你的代码”请求。
标签: javascript odata sapui5 sap-fiori