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