Javascript 如何使用来自Filterbar control&;的多个筛选器输入值筛选odata服务;将筛选的结果集绑定到表

Javascript 如何使用来自Filterbar control&;的多个筛选器输入值筛选odata服务;将筛选的结果集绑定到表,javascript,odata,sapui5,sap-fiori,Javascript,Odata,Sapui5,Sap Fiori,我需要使用多个筛选器项筛选odata服务,并将结果集绑定到表。整个操作将在单击搜索按钮时进行。下面是我的Onsearch事件代码,它在读取函数中失败,没有返回结果,并且无法将其绑定到表。谁能帮我一下吗 控制器代码 onFinalFilter:函数(oEvent){ 调试器; var oPlant=this.getView().byId(“工厂”).getValue(); var oName1=this.getView().byId(“name1”).getValue(); var oName2=

我需要使用多个筛选器项筛选odata服务,并将结果集绑定到表。整个操作将在单击搜索按钮时进行。下面是我的Onsearch事件代码,它在读取函数中失败,没有返回结果,并且无法将其绑定到表。谁能帮我一下吗

控制器代码
onFinalFilter:函数(oEvent){
调试器;
var oPlant=this.getView().byId(“工厂”).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(“城市”).getValue();
var oZip=this.getView().byId(“zip”).getValue();
var oCompanyCode=this.getView().byId(“公司代码”).getValue();
var p=新过滤器(“WERKS”,FilterOperator.EQ,oPlant);
var n1=新过滤器(“名称1”,FilterOperator.EQ,oName1);
var n2=新过滤器(“名称2”,FilterOperator.EQ,oName2);
var s=新过滤器(“状态”,FilterOperator.EQ,oState);
var c=新过滤器(“城市”,FilterOperator.EQ,oCity);
var cc=新过滤器(“BUKRS”、FilterOperator.EQ、oCompanyCode);
var zip=新过滤器(“PSTCODE”,FilterOperator.EQ,oZip);
var finalFilter=newfilter({filters:[p,n1,n2,c,s,zip,cc],and:true});
var oModel=new sap.ui.model.odata.v2.ODataModel(“/sap/opu/odata/sap/ZSM\u PLANTSRCH\u SRV/”);sap.ui.getCore().setModel(oModel);
var oModel2=new sap.ui.model.json.JSONModel();
oModel.read(“/PLANTSRCHSet”{
过滤器:最终过滤器,
成功:功能(oData、oResponse)
{var data=oData;oModel2.setData(data);this.getView().byId(“table1”).setModel(oModel2,“key2”);},
错误:函数(oError){//alert(“error”);};
}
看法

控制台日志

滤棒碎片

1.View.xml

    <fb:FilterGroupItem  name="Name of the Property" label="Company">
                    <fb:control>
                        <Input type="Text"/>
                    </fb:control>               
                </fb:FilterGroupItem>

感谢您的回复。我还需要对filterbar输入文件进行验证。由于上面的代码包含所有过滤器,我如何根据输入值对单个值(如if name、city filed)进行验证,需要进行验证检查,如果通过,则将推送到过滤器。如果你能帮上忙,那就太好了。提前感谢您可以验证预筛选。-->如何向输入字段添加验证最初尝试获取filtergroupitems值,但无法确定如何将filters参数传递给服务。现在尝试了不同的方法,但也失败了。也更新了问题。以前的代码是:-var oJsonData=[];var oItems=oEvent.getSource().getFilterGroupItems();对于(var i=0;i _filterTable: function (oFilter) { this._oTable.getBinding("items").filter(oFilter); }