2016-06-23 2 views
0

У меня есть два JSON-Мок Файлы:SAPUI5: фильтрация не работает

Types.json:

[{ 
    "TypeID": 1 
}, { 
    "TypeID": 2 
}] 

Items.json:

[{ 
    "ItemID": 12345, 
    "TypeID": "1", 
}, { 
    "ItemID": 54321, 
    "TypeID": "2", 
}] 

Мой список Переплет:

oView.bindElement({ 
       path : "/Items", 
       filters: [ new sap.ui.model.Filter("TypeID", sap.ui.model.FilterOperator.EQ, oArgs.TypeID) ], 
       events : { 
        change: this._onBindingChange.bind(this), 
        dataRequested: function (oEvent) { 
         oView.setBusy(true); 
        }, 
        dataReceived: function (oEvent) { 
         oView.setBusy(false); 
        } 
       } 
      }); 

Мой код игнорирует фильтр и показывает оба элемента, хотя только один из них имеет правильный TypeID (1 resp 2). Консольный выход: oArgs.TypeID определен и содержит 1 resp 2.

+0

BindElement - это то же самое, что BindContext https://sapui5.hana.ondemand.com/#docs/api/symbols/sap.ui.model.odata.v2.ODataContextBinding.html#constructor у него нет фильтров параметр, чтобы фильтровать коллекцию, необходимую для использования listBinding –

+0

В этом случае используется фильтр, в котором элемент управления содержит элементы агрегации. – SPEC

+0

lol thats, что я имел в виду, listBinding для скоплений, таких как таблицы, а не для таких элементов, как представления, если код работает, вы получаете нефильтрованные данные, вы не дали нам правильный код –

ответ

0

привязка элемента предназначена для привязки элементов пользовательского интерфейса к конкретному объекту в данных модели. Вы пытаетесь использовать bindElement для привязки элементов пользовательского интерфейса к набору данных.

Поскольку bindElement всегда привязывается к singleton, параметр фильтра не имеет смысла и не существует.