2016-07-20 5 views
0

Ich versuche, Daten von Modell zu filtern, dies ist mein Code:Filter oModel auf lesen

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); 
} 

Wie kann ich die erstellten Filter direkt auf das Modell anwenden?

Antwort

3

statt positionsmäßig Parameter Sie besser Objektparameter verwenden würden, wäre die Quelle besser lesbar:

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

für weitere Details siehe here

+0

Dank Mann, ist genau das, was ich brauche !! – Shiroga