在读取时过滤oModel

时间:2016-07-20 16:13:48

标签: sap sapui5 hana

我试图从模型中过滤数据,这是我的代码:

    onInit: function() {
    var self=this;
    var oFilters = [  ];
    oModel = new sap.ui.model.odata.ODataModel(
        "/SapTest/services/persons.xsodata",false);


    var oTable = new sap.ui.table.Table; 
    oTable = self.byId("persons");
    console.log(oTable);

    var filters = new Array();  
    var filterByName = new sap.ui.model.Filter("NAME", sap.ui.model.FilterOperator.Contains, "claudio")  
    filters.push(filterByName);  

    oModelJson = new sap.ui.model.json.JSONModel();
    oModel.read("/persons",null,null,null,function(oData,oResponse){
        oModelJson.setData(oData);
    },null);
    oTable.setModel(oModelJson);
    console.log(oModelJson);
}

如何将创建的过滤器直接应用于模型?

1 个答案:

答案 0 :(得分:4)

而不是位置方面的参数,你最好使用对象参数,源代码将更具可读性:

(...)
oModel.read("/persons", {
             filters: filters,
             success: function(oData,oResponse){
                         oModelJson.setData(oData);
                      }
            });
(...)

有关详细信息,请参阅here